안녕하세요. 언제나 휴일, 언휴예요.
이번에는 자신의 값을 1 증가하거나 감소시키는 증감 연산자를 알아보아요.
증감 연산자는 변수의 값을 1 증가하거나 1 감소할 때 사용하는 단항 연산자예요. C언어에서는 증감 연산자의 결과를 다른 변수에 대입할 수 있지만 Go 언어에서는 증감 연산자의 결과를 사용할 수 없어요. 또한 C언어에서는 증감 연산자를 피연산자 앞에 오는 전위 표현을 사용할 수 있었지만 Go언어에서는 항상 피연산자 뒤에 와야 합니다.
C언어에서 ++i 표현이나 i++ 표현은 모두 i를 1 증가하는 표현이예요. 하지만 증감 연산자가 피연산자의 앞에 오는 전위 표현과 뒤에 오는 후위 표현에 따라 연산의 결과는 차이가 있어요. 이는 개발자에게 혼돈을 줄 때가 많이 있었어요.
Go 언어에서는 증감 연산자는 자기 자신을 1 증가하거나 감소할 때 사용하며 연산의 결과를 사용하지 못하게 함으로써 개발자의 혼돈을 줄이고 있어요.
새 프로젝트를 생성하여 살펴보기로 해요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// Example 자신의 값을 1 증가하거나 감소시키는 증감 연산자 package main import "fmt" func main() { var i int = 2 fmt.Println("i:", i) i++ //i는 1 증가하여 3으로 변함 fmt.Println("i:", i) i-- //i는 1 감소하여 2로 변함 fmt.Println("i:", i) } |
테스트를 위해 정수 형식 변수 i를 선언하고 2로 초기화하세요.
1 2 |
var i int = 2 fmt.Println("i:", i) |
증가 연산자를 사용하면 자기 자신을 1 증가하여 3으로 변해요.
- ++ 연산자(증가 연산자)
1 2 |
i++ //i는 1 증가하여 3으로 변함 fmt.Println("i:", i) |
감소 연산자를 사용하면 자기 자신을 1 감소하여 2로 변해요.
- — 연산자(감소 연산자
1 2 |
i-- //i는 1 감소하여 2로 변함 fmt.Println("i:", i) |
- 전위 표현으로 증감 연산자를 사용하면 컴파일 에러
1 |
++i |
다음처럼 증감 연산한 결과를 다른 변수에 대입하는 표현도 컴파일 에러를 발생합니다.
- 증감 연산 결과를 다른 변수에 대입하면 컴파일 에러
1 |
re = i++ |