[Go 언어] 23. 다양한 대입 연산자, 좌항에 상수는 올 수 없어요.

안녕하세요. 언제나 휴일, 언휴예요.

이번 게시글에서는 Go 언어의 대입 연산을 살펴보아요. Go 언어의 대입 연산에는 = 와 +=, -= ,… 등이 있어요.

대입 연산의 좌항에는 상수가 올 수 없어요. 좌항이 관리하는 메모리에 우항의 값을 설정하는 연산이기 때문이예요. 그리고 대입 연산자 좌항에 오는 표현을 l-value라고 불러요.

그리고 +=, -=, … 등의 연산은 좌항의 값과 우항의 값을 +, -, … 등의 연산을 먼저 수행한 후에 연산 결과를 좌항이 관리하는 메모리에 설정합니다.

새 프로젝트를 생성하여 논리 연산 표현을 사용해 보아요.

[그림 1] LiteIDE에서 새 프로젝트 생성 및 소스 파일 추가
// Example 대입 연산
package main
 
import "fmt"
 
func main() {
    var i int
    fmt.Println("Test 1:", i)
    i = 3 //i에 3을 대입
    fmt.Println("Test 2:", i)
    i += 2 //i = i+2
    fmt.Println("Test 3:", i)
    i -= 7 //i = i-7
    fmt.Println("Test 4:", i)
}

대입 연산은 우항의 값으로 좌항 표현이 관리하는 메모리의 값을 설정하는 연산입니다.

  • 단순 대입 연산
    var i int
    fmt.Println("Test 1:", i)
    i = 3 //i에 3을 대입
    fmt.Println("Test 2:", i)

출력 결과는 다음과 같아요.

Test 1: 0
Test 2: 3

+=, -= 같은 대입 연산을 복합 대입 연산이라고 불러요. i+=2 는 i = i+2와 같은 표현이예요.

  • 복합 대입 연산
    i += 2 //i = i+2
    fmt.Println("Test 3:", i)
    i -= 7 //i = i-7
    fmt.Println("Test 4:", i)

출력 결과는 다음과 같아요.

Test 3: 5
Test 4: -2
[그림 2] 대입 연산 예제 실행 화면