🔥 기본 초기값(제로값)

213자
3분

Go 언어에서는 변수를 선언하면서 초기값을 명시적으로 지정하지 않으면 해당 변수에 제로 값 이 할당된답니다. 제로 값은 변수의 타입에 따라 다르게 설정되지요. 어떤 값들이 있는지 살펴보도록 해요!

  • 숫자형 타입(numeric types)의 제로 값은 0입니다.
  • 불리언 타입(boolean type)의 제로 값은 false랍니다.
  • 문자열 타입(string)의 제로 값은 "" (빈 문자열)이에요.

이제 코드 예제를 통해 제로 값이 어떻게 적용되는지 확인해 보겠습니다.

package main
 
import "fmt"
 
func main() {
	var i int      // 정수형 변수 i 선언
	var f float64  // 실수형 변수 f 선언
	var b bool     // 불리언 변수 b 선언
	var s string   // 문자열 변수 s 선언
	fmt.Printf("%v %v %v %q\n", i, f, b, s)  // 변수의 값을 출력
}
 
go

위 코드에서는 각 타입별로 변수를 선언하였지만, 초기값은 지정하지 않았어요. 이 경우 Go 컴파일러는 다음과 같이 제로 값을 자동으로 할당합니다.

  • i는 정수형이므로 0이 할당되겠죠?
  • f는 실수형이므로 역시 0이 할당될 거예요.
  • b는 불리언이므로 false가 할당된답니다.
  • s는 문자열이므로 "" (빈 문자열)이 할당되는 거죠.

이 코드를 실행하면 터미널에는 다음과 같은 출력 결과가 나타날 겁니다.

0 0 false ""
text

보시다시피 각 변수에는 해당 타입의 제로 값이 초기값으로 설정되었어요. 이처럼 Go 언어는 변수 선언 시 초기값을 지정하지 않아도 자동으로 제로 값을 할당하므로, 변수를 사용하기 전에 반드시 초기값을 설정해야 한다는 걱정은 하지 않아도 됩니다. 그러나 되도록이면 명시적인 초기값이 있는게 좋겠죠?