PHpullh
학습 라이브러리/Go/변수 선언 — var & :=

GO · 기초 문법

변수 선언 — var & :=

Go의 두 가지 변수 선언 방식과 제로값(zero value) 초기화.

기초 문법입문var:=constiotazero-value

핵심 설명

Go의 두 가지 변수 선언 방식과 제로값(zero value) 초기화.

Go code

package main

import "fmt"

// 패키지 레벨 변수 — var만 가능
var (
	appName    = "MyApp"
	maxRetries = 3
	debug      bool // zero value: false
)

// 상수
const (
	Pi      = 3.14159
	Version = "1.0.0"

	// iota — 자동 증가 상수
	Sunday = iota
	Monday
	Tuesday
	Wednesday
)

func main() {
	// var 선언
	var name string = "Go"
	var age int     // zero value: 0
	var ratio float64 // zero value: 0.0

	// 단축 선언 := (함수 내부에서만)
	lang    := "Go"
	version := 1.22
	active  := true

	// 다중 선언
	x, y, z := 1, 2, 3

	// zero value 확인
	var s string  // ""
	var n int     // 0
	var b bool    // false
	var p *int    // nil

	fmt.Printf("name=%s age=%d ratio=%f
", name, age, ratio)
	fmt.Printf("lang=%s v=%.2f active=%t
", lang, version, active)
	fmt.Println(x, y, z)
	fmt.Printf("zeros: %q %d %t %v
", s, n, b, p)
}

학습 팁

Go의 모든 타입은 제로값(zero value)으로 초기화됩니다. int→0, string→"", bool→false, pointer/slice/map→nil. 명시적 초기화가 필요 없는 경우가 많습니다.

주의할 점

:=는 함수 내부에서만 사용 가능합니다. 선언했지만 사용하지 않은 변수는 컴파일 에러입니다. 패키지 레벨 변수는 사용 안 해도 됩니다.

자주 묻는 질문

변수 선언 — var & :=란 무엇인가요?

Go의 두 가지 변수 선언 방식과 제로값(zero value) 초기화.

변수 선언 — var & := 학습 시 주의할 점은 무엇인가요?

:= 는 함수 내부에서만 사용 가능합니다. 선언했지만 사용하지 않은 변수는 컴파일 에러입니다. 패키지 레벨 변수는 사용 안 해도 됩니다.