🔥 기본 초기값(제로값)

213자
3분

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

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

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

go
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
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 컴파일러는 다음과 같이 제로 값을 자동으로 할당합니다.

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

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

text
0 0 false ""
text
0 0 false ""

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

YouTube 영상

채널 보기
내적의 기하학적 의미와 코사인 유사도 원리 | 선형대수학
행렬의 가장 중요한 연산 - 행렬 곱셈 | 선형대수학
트라이(Trie) 자료구조: 파이썬으로 삽입(Insert) 연산 구현하기 | Trie 자료구조 이야기
AI는 데이터를 어떻게 분류할까? 벡터의 거리와 KNN 알고리즘 | 선형대수학
숫자 하나가 AI 모델의 운명을 바꾼다? | 선형대수학
AI 추천 시스템의 원리, 벡터 사이의 각도와 코사인 유사도 | 선형대수학
스칼라 곱셈과 내적의 기하학적 의미 | 선형대수학
인공지능은 세상을 어떻게 숫자로 읽는가? - 이미지, 소리 그리고 텍스트가 행렬이 되는 원리 | 선형대수학