"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Go ":=" 대 "=": 짧은 변수 선언을 언제 사용해야 할까요?

Go ":=" 대 "=": 짧은 변수 선언을 언제 사용해야 할까요?

2024년 12월 22일에 게시됨
검색:313

Go

Go에서 ":="와 "="의 차이점 이해

Go 초보자로서 당황스러울 수 있습니다. 변수 할당을 위해 ":="와 "="를 서로 바꿔서 사용할 수 있는 것처럼 보입니다. 그러나 변수 선언의 맥락을 중심으로 미묘한 차이가 있습니다.

"="

의 역할 Go에서는 "="가 주로 사용됩니다. 변수 할당. 이는 "var name type = 표현식" 구문을 준수합니다. 여기서 "name"은 할당되는 변수를 나타냅니다. 결정적으로, 유형이나 대입 표현식은 생략될 수 있지만 둘 다 생략될 수는 없습니다.

":="

의 성격 대조적으로 ":="는 짧은 것을 나타냅니다. "name := 표현식" 형식을 따르는 변수 선언입니다. 여기서 ":="는 결합된 선언 및 할당 연산자 역할을 합니다. "이름"의 유형은 "표현식"의 유형에서 자동으로 유추됩니다.

선언과 대입의 구별

주요 차이점은 각각의 기본 목적에 있습니다. 연산자. ":="는 선언용으로만 사용되는 반면 "="는 할당용으로 사용됩니다. 따라서 짧은 변수 선언은 항상 현재 어휘 블록 내에 완전히 새로운 변수를 하나 이상 도입해야 합니다.

사용 예

차이를 설명하려면 다음 예를 고려하세요. :

  1.   var x int = 1

    이 문은 정수 변수를 선언합니다. "x"를 입력하고 값 1로 초기화합니다.

  2.   r := foo()

    이것은 "foo"의 반환 값을 할당하는 짧은 변수 선언입니다. ()" 함수를 새로 생성된 변수 "r."

This creates a new variable "m" and assigns a new value to the existing variable "r."

**Exceptions and Additional Information**

It's worth noting that ":=" can only be used within functions. However, it can declare temporary variables within the initializers of control structures like "if," "for," and "switch."

For further exploration, you can refer to the official Go documentation on:

* [Variable Declarations](https://go.dev/ref/spec#Variable_declarations)
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3