Den`s blog

Golang) := and = 본문

GoLang

Golang) := and =

shinYeongHyeon 2022. 3. 2. 19:43
반응형

Go 에서 변수를 생성/할당하는데는 익히 알고 있듯 2가지 방법이 있다.

:== 를 활용하는 것인데, 검색하면 쉽게 나오는 두 방식의 차이에 대해서 먼저 간단하게 설명해보면 아래와 같다.

1. =

var a int = 5

var 키워드로 변수임을 알려주고, 변수명을 작성하고, 타입을 작성한 뒤, 선택에 따라서 값을 할당해주면 된다.

2. :=

a := 5

1번의 예제와 동일한 효과를 짧게 내는 구문이다. := 의 공식 명칭은 short assignment stament 이다.

그런데, 2번에는 원래 재할당이 되지 않는다.

재할당을 하는 경우에는 아래와 같은 에러를 보게 될 것이다.

:= 의 왼쪽이 새 변수가 아니라는 뜻이다.

이 말인즉슨, 이미 선언된 변수에는 사용이 불가하다는 것인데, 2개, 3개 이상을 하는 경우에는 재 할당이 가능하다는 특이점이 있다.

package main

import "fmt"

func main() {
    a := 2
    b := 3

    a, b, c := 12, 13, 14
    fmt.Println(a, b, c)
}

위 코드의 결과는, 12 13 14 이 출력이 되며 프로그램이 종료된다.

728x90
반응형

'GoLang' 카테고리의 다른 글

Golang singleton pattern 과 init 함수  (0) 2022.03.08
Golang Version Update/Upgrade  (0) 2021.12.05
[Golang] runtime.Goexit vs os.Exit  (0) 2021.08.15
GoLang 테스트 전체 돌리기  (0) 2021.07.22
GoLang + Swagger  (0) 2021.03.15
Comments