- 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
- 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.
연산자 알아보기
이재홍 http://www.pyrasis.com 2014.12.17 ~ 2015.02.07
이번에는 Go 언어에서 사용할 수 있는 연산자에 대해 알아보겠습니다. 표로는 내용이 길지만 모두 외울 필요는 없습니다. 언제든 필요할 때 찾아보기 바랍니다.
연산자 | 기능 | 설명 |
---|---|---|
= | 대입 | 변수나 상수에 값을 대입합니다. 변수는 변수끼리 대입할 수 있습니다.
|
:= | 변수 선언 및 대입 | 변수를 선언하는 동시에 값을 대입합니다.
|
+ | 덧셈 | 두 값을 더합니다. 사용할 수 있는 자료형은 정수, 실수, 복소수, 문자열입니다.
|
- | 뺄셈 | 두 값의 차이를 구합니다. 사용할 수 있는 자료형은 정수, 실수, 복소수입니다.
|
* | 곱셈 | 두 값을 곱합니다. 사용할 수 있는 자료형은 정수, 실수, 복소수입니다.
|
/ | 나눗셈 | 두 값을 나눕니다. 사용할 수 있는 자료형은 정수, 실수, 복소수입니다.
|
% | 나머지 | 두 값을 나눈 뒤 나머지를 구합니다. 사용할 수 있는 자료형은 정수입니다.
|
+= | 덧셈 후 대입 | 현재 변수와 값을 더한 다음 다시 변수에 대입합니다. 문자열은 현재 변수에 문자열을 붙인 다음 다시 변수에 대입합니다.
|
-= | 뺄셈 후 대입 | 현재 변수에서 값을 뺀 다음 다시 변수에 대입합니다.
|
*= | 곱셈 후 대입 | 현재 변수와 값을 곱한 다음 다시 변수에 대입합니다.
|
/= | 나눗셈 후 대입 | 현재 변수를 값으로 나눈 다음 다시 변수에 대입합니다.
|
%= | 나머지를 구한 후 대입 | 현재 변수와 값의 나머지를 구한 다음 다시 변수에 대입합니다.
|
& | AND 비트 연산 | 두 값을 비트 단위로 AND 연산을 합니다. 사용할 수 있는 자료형은 정수입니다.
|
| | OR 비트 연산 | 두 값을 비트 단위로 OR 연산을 합니다. 사용할 수 있는 자료형은 정수입니다.
|
^ | XOR 비트 연산(다항) | 두 값을 비트 단위로 XOR 연산을 합니다. 사용할 수 있는 자료형은 정수입니다.
|
&^ | AND NOT 비트 연산 | 두 값을 비트 단위로 AND NOT 연산을 합니다. 즉 다음과 같이 특정 비트를 끕니다(Bit clear). 사용할 수 있는 자료형은 정수입니다.
|
&= | AND 비트 연산 후 대입 | 현재 변수를 값으로 AND 연산한 다음 다시 변수에 대입합니다.
|
|= | OR 비트 연산 후 대입 | 현재 변수를 값으로 OR 연산한 다음 다시 변수에 대입합니다.
|
^= | XOR 비트 연산 후 대입 | 현재 변수를 값으로 XOR 연산한 다음 다시 변수에 대입합니다.
|
&^= | AND NOT 비트 연산 후 대입 | 현재 변수를 값으로 AND NOT 연산한 다음 다시 변수에 대입합니다. 이 연산자는 특정 플래그를 끌 때 주로 사용합니다.
|
<< | 비트를 왼쪽으로 이동 | 현재 값의 비트를 특정 횟수만큼 왼쪽으로 이동합니다. 사용할 수 있는 자료형은 정수입니다.
|
>> | 비트를 오른쪽으로 이동 | 현재 값의 비트를 특정 횟수만큼 오른쪽으로 이동합니다. 사용할 수 있는 자료형은 정수입니다.
|
>>= | 비트를 오른쪽으로 이동 후 대입 | 현재 변수를 특정 횟수만큼 오른쪽으로 이동한 다음 다시 변수에 대입합니다.
|
^ | 비트 반전(단항) | 비트를 반전시킵니다(Bitwise complement, 1의 보수). 즉 0은 1로 1은 0으로 바꿉니다.
|
+ | 양수 부호(단항) | 값에 양수 부호를 붙입니다.
|
- | 음수 부호 (단항) | 값에 음수 부호를 붙입니다.
|
== | 같다 | 두 값이 같은지 비교합니다.
|
!= | 같지 않다 | 두 값이 다른지 비교합니다.
|
< | 작다 | 앞의 값이 작은지 비교합니다. 문자열은 ASCII 코드 값을 기준으로 판단합니다. 또한, 첫 글자가 같다면 그 다음 글자부터 차례대로 비교하여 최종 값을 구합니다.
|
<= | 작거나 같다 | 앞의 값이 작거나 같은지 비교합니다.
|
> | 크다 | 앞의 값이 큰지 비교합니다.
|
>= | 크거나 같다 | 앞의 값이 크거나 같은지 비교합니다.
|
&& | AND 논리 연산 | 두 불 값이 모두 참인지 확인합니다.
|
|| | OR 논리 연산 | 두 불 값 중 한 개라도 참인지 확인합니다.
|
! | NOT 논리 연산 | 불값을 반대로 연산합니다.
|
& | 참조(레퍼런스) 연산 | 현재 변수의 메모리 주소를 구합니다.
|
* | 역참조 연산 | 현재 포인터 변수에 저장된 메모리에 접근하여 값을 가져오거나 저장합니다.
|
<- | 채널 수신 연산 | 채널에 값을 보내거나 값을 가져옵니다.
|
++ | 증가 | 변수의 값을 1 증가시킵니다. 사용할 수 있는 자료형은 정수, 실수, 복소수입니다.
Go 언어에서는 ++ 연산자를 사용한 뒤 값을 대입할 수 없고, 변수 뒤에서만 사용할 수 있습니다. 따라서 ++ 연산자는 단독으로 사용하거나 if 조건문, for 반복문 안에서 주로 사용합니다.
|
-- | 감소 | 변수의 값을 1 감소시킵니다. 사용할 수 있는 자료형은 정수, 실수, 복소수입니다.
Go 언어에서는 -- 연산자를 사용한 뒤 값을 대입할 수 없고, 변수 뒤에서만 사용할 수 있습니다. 따라서 -- 연산자는 단독으로 사용하거나 if 조건문, for 반복문 안에서 주로 사용합니다.
|
표 13-1 Go 언어의 연산자 종류
저작권 안내
이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.- 블로그, 게시판 등에 퍼가는 것을 금지합니다.
- 비공개 포스트에 퍼가는 것을 금지합니다.
- 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
- 링크 및 SNS 공유는 허용합니다.