はじめに
Goでの変数宣言の方法と、その使い所についてざっくりまとめました。
var
初期値を指定した変数宣言は下記の通りです。型を省略するとデフォルトの型が選ばれます。
1var [変数名] [型] = [初期値]
2var [変数名] = [初期値]1var n int = 1001var n = 100初期値を指定しないと、ゼロ値で初期化された変数を宣言できます。
1var [変数名] [型]1var n int複数の変数をまとめて宣言することも可能です。
1var (
2 n int
3 a string = "Hello"
4 b = 10
5 c int = 20
6):=
関数内では、:=が使えます。宣言方法は下記の通りです。この場合、型は推定されます。
1[変数名] := [初期値]1n := 100複数宣言も可能です。
1n, m := 100, "Hello"また、宣言だけでなく、左辺に新しい変数が1つ以上あれば既存の変数への代入も可能です。
1n := 100
2n, m := 200, 300使い分け
varと:=の使い分けは意図を明確にできる形式を選択する必要があります。
下記のように使い分けることができます。
| 宣言方法 | 使い所 |
|---|---|
var |
|
:= |
|
実際に使われている例として、Kubernetesのソースコードを抜粋してみました。
var:
kubernetes/pkg/controlplane/instance.go at master · kubernetes/kubernetes
Production-Grade Container Scheduling and Management - kubernetes/kubernetes
kubernetes/pkg/controlplane/controller/clusterauthenticationtrust/cluster_authentication_trust_controller.go at master · kubernetes/kubernetes
Production-Grade Container Scheduling and Management - kubernetes/kubernetes
kubernetes/pkg/controlplane/controller/clusterauthenticationtrust/cluster_authentication_trust_controller.go at master · kubernetes/kubernetes
Production-Grade Container Scheduling and Management - kubernetes/kubernetes
:=:





