안녕하세요. 언제나 휴일, 언휴예요.
이번 게시글에서는 사칙 연산을 살펴볼 거예요. 사칙 연산은 여러분이 직관적으로 생각하는 것과 큰 차이는 없어요.
새 프로젝트를 생성하여 여러분이 생각하는 것과 차이가 없는 부분을 표현해 보기로 해요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
// Example 사칙 연산자 개요 package main import "fmt" func main() { var i1 int = 2 var i2 int = 3 fmt.Println(i1, "+", i2, "=", i1+i2) fmt.Println(i1, "-", i2, "=", i1-i2) fmt.Println(i1, "*", i2, "=", i1*i2) var f1 float32 = 0.2 var f2 float32 = 0.3 fmt.Println(f1, "+", f2, "=", f1+f2) fmt.Println(f1, "-", f2, "=", f1-f2) fmt.Println(f1, "*", f2, "=", f1*f2) var c1 complex64 = 2 + 3i var c2 complex64 = 1 + 2i fmt.Println(c1, "+", c2, "=", c1+c2) fmt.Println(c1, "-", c2, "=", c1-c2) fmt.Println(c1, "*", c2, "=", c1*c2) var s1 string = "hello," var s2 string = " ehclub.co.kr" fmt.Println(s1, "+", s2, "=", s1+s2) } |
두 개의 정수 사이의 덧셈, 뺄셈, 곱셈 연산, 두 개의 실수 사이의 덧셈, 뺄셈, 곱셈 연산, 두 개의 복소수 사이의 덧셈, 뺄셈, 곱셈 연산은 여러분이 생각하는 것과 차이가 없어요. 그리고 문자열 사이의 덧셈도 직관적으로 생각할 수 있는 결과인 두 개의 문자열을 합한 문자열이예요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// Example 나누기 연산 package main import "fmt" func main() { var i1 int = 8 var i2 int = 3 fmt.Println(i1, "/", i2, "=", i1/i2) var f1 float32 = 3.2 var f2 float32 = 2.1 fmt.Println(f1, "/", f2, "=", f1/f2) } |
먼저 정수 형식 사이에 나누기 연산을 테스트 해 보세요.
- 정수/정수
1 2 3 |
var i1 int = 8 var i2 int = 3 fmt.Println(i1, "/", i2, "=", i1/i2) |
8을 3으로 나누면 몫이 2이고 나머지는 2죠. Go 언어에서 나누기 연산에서는 나머지는 버립니다. 따라서 8/3의 결과는 2예요.
1 |
8 / 3 = 2 |
그런데 실수 형식 사이에서 나누기 연산은 직관적으로 생각하는 나누기와 같습니다.
- 실수/실수
1 2 3 |
var f1 float32 = 3.2 var f2 float32 = 2.1 fmt.Println(f1, "/", f2, "=", f1/f2) |
위 코드의 실행 결과는 다음과 같아요.
1 |
3.2 / 2.1 = 1.5238097 |
3.2 / 2.1 = 1.5238097