Operator

연산자

수식 연산자

연산자

설명

+

더하기

-

빼기

*

곱하기

/

나누기(몫)

%

나누기(나머지)

CODE
RESULT
CODE
var a int = 10
var b int = 5
fmt.Printf("%d + %d = %d\n",a,b,a+b)
fmt.Printf("%d - %d = %d\n",a,b,a-b)
fmt.Printf("%d / %d = %d\n",a,b,a/b)
fmt.Printf("%d * %d = %d\n",a,b,a*b)
fmt.Printf("%d %% %d = %d\n",a,b,a%b)
RESULT
10 + 5 = 15
10 - 5 = 5
10 / 5 = 2
10 * 5 = 50
10 % 5 = 0

증감 연산자

  • ++ : 값을 1 증가

  • -- : 값을 1 감소

CODE
RESULT
CODE
cnt:=1
cnt++
fmt.Println(cnt)
cnt--
fmt.Println(cnt)
//error case
fmt.Println(cnt++)
num:=cnt++
++cnt
RESULT
2
1

++cnt 전위연산 불가능, num:=cnt++ 연산과 동시에 대입 불가능

할당 연산자

연산자

설명

+=, -=, *=, /=, %=

값을 더하기, 빼기, 곱하기, 나누기 한 후 대

&=, |=, ^=, &^=

값의 AND, OR, XOR, AND NOT 비트 연산 후 대입

<<=, >>=

비트를 왼쪽, 오른쪽으로 이동 후 대입

CODE
RESULT
CODE
a:=1
a+=10
fmt.Println("a+=10 : ",a)
a-=10
fmt.Println("a-=10 : ",a)
a*=10
fmt.Println("a*=10 : ",a)
a/=10
fmt.Println("a/=10 : ",a)
a%=10
fmt.Println("a%=10 : ",a)
RESULT
a+=10 : 11
a-=10 : 1
a*=10 : 10
a/=10 : 1
a%=10 : 1

fmt.Println("a+=10 : ",a+=10) 불가

관계 연산자

연산

설명

==

같은지

!=

다른지

<, >

큰지, 작은지

<=, >=

크거나 같은지, 작거나 같은지

CODE
RESULT
CODE
fmt.Println("10==5",10==5)
fmt.Println("10!=5",10!=5)
fmt.Println("10>5",10>5)
fmt.Println("10<5",10<5)
fmt.Println("10<=5",10<=5)
fmt.Println("10>=5",10>=5)
RESULT
10==5 false
10!=5 true
10>5 true
10<5 false
10<=5 false
10>=5 true

채널 연산자

연산자

설명

<-

채널에 값을 보내거나 가져옴

CODE
RESULT
CODE
ch := make(chan int)
go func() {
ch <- 10
}()
result := <- ch
fmt.Println(result)
RESULT
10