Go言語の変数
2026/07/28
変数宣言
varで型と初期値を明示できます。初期値を省略するとゼロ値が入ります。型を省略すると右辺から推論します。関数内では:=による短い変数宣言も使えます。
var x int = 10
var y = 20 // 型推論でint
z := 30 // 短い変数宣言(関数内のみ)パッケージ直下では:=は使えず、varが必要です。
package demo
var count = 0 // OK
// n := 1 // コンパイルエラー: パッケージレベルでは:=不可宣言した変数を使わないとコンパイルエラーになります。意図的に捨てるときは_へ代入します。
x := 1
_ = x複数宣言
同じブロック内で複数の識別子をまとめられます。
var (
host = "localhost"
port = 8080
)複数の戻り値を、左辺の変数に同時に受け取れます。すでに宣言済みの変数への再代入は=です。
x, y = 1, 2
a, b = b, a関数から複数の値を受け取るときも、宣言済みなら=で再代入します。
func swap(a, b int) (int, int) { return b, a }
x, y := 1, 2
x, y = swap(x, y) // 2, 1命名の慣習
複数語の名前はアンダースコアではなくMixedCapsまたはmixedCapsを使います。短いスコープではi、okのような短い名前もよく使われます。
ゲッターにはGetプレフィックスを付けない慣習があります。フィールドownerならメソッドはOwnerとします。