가장 빨리 만나는 Go 언어 Unit 13.1 연산자 우선순위
저작권 안내
- 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
- 책 또는 웹사이트의 내용을 발췌, 요약하여 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.
연산자 알아보기
이재홍 http://www.pyrasis.com 2014.12.17 ~ 2015.02.07
연산자 우선순위
연산자 우선순위는 수학시간에 배운 내용과 비슷합니다. 예를들면 2 + 3 * 2에서 3 * 2를 먼저 계산하고 2 + 6을 계산합니다. 이 부분도 필요할 때 언제든 찾아보기 바랍니다.
Go 언어에서는 기본적으로 여러 연산자들이 있을 때 왼쪽에서 오른쪽으로 계산합니다. 단, 연산자들은 다음과 같이 우선순위가 있으며 숫자가 높을 수록 먼저 계산합니다.
우선순위 | 연산자 |
5 | * / % << >> & &^ |
4 | + - | ^| |
3 | == != < <= > >= |
2 | && |
1 | || |
표 13-2 연산자 우선순위
다음과 같이 8 + 10 / 2를 계산해봅니다.
a := 8 + 10 / 2
fmt.Println(a) // 13
연산자 우선순위에 의해 앞에 있는 덧셈(+)보다 뒤에 있는 나눗셈(/)이 먼저 실행되서 5가 나온 뒤에 8과 더해서 13이 됩니다.
8과 10을 먼저 더하려면 다음과 같이 ( )
(괄호)를 사용합니다.
a := (8 + 10) / 2
fmt.Println(a) // 9
8과 10을 먼저 더해서 18이 나온 뒤에 2를 나누어 9가 됩니다. 즉 괄호를 사용하면 계산 순서를 바꿀 수 있습니다.