変数宣言の違い( := 、 var )
基本的にはこちらで理解
自分なりの整理
:=
・varとタイプ型を省略(自動判断してくれるのか、初期化の時間・容量に無駄がでるのか)
・関数内のみで宣言可能
var
・指定したタイプ型によって初期化される(ポインタ型はnilで初期化)
・関数外でも宣言可能
func main() {
var a int
var b string
var c []int
var d *int
var e *string
var f *[]int
g := 1
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
fmt.Println(d)
fmt.Println(e)
fmt.Println(f)
fmt.Println(g)
}
結果
0
[]
<nil>
<nil>
<nil>
1