変数

Go(Golang)の「変数」に関する基礎文法について、以下のように詳しく説明します。


1. 変数とは

変数は、プログラムの実行中にデータ(値)を格納・管理するための名前付きの記憶場所です。Goでは、静的型付け言語として、変数には明示的または暗黙的に**型(type)**が付きます。


2. 変数の宣言方法

(1) 明示的な型指定による宣言

go
var x int x = 10
  • var キーワードを使って変数 xint 型として宣言しています。

  • 初期値が与えられなかった場合、ゼロ値(int の場合は 0)が自動的に設定されます。

(2) 宣言と初期化を同時に行う(型指定あり)

go
var y float64 = 3.14
  • yfloat64 型の変数で、初期値 3.14 が代入されています。

(3) 宣言と初期化を同時に行う(型推論あり)

go
var z = "Hello"
  • z の型は初期値 "Hello" によって string 型と推論されます。

(4) := による短縮宣言(関数内のみ)

go
message := "Go is fun"
  • 型と var を省略して、Goに自動的に型を推論させる簡潔な記法です。

  • 関数の外では使用できません(トップレベルでは var を使う必要があります)。


3. 複数変数の同時宣言

(1) 同じ型で複数宣言

go
var a, b int

(2) 異なる型で複数宣言・初期化

go
var ( name string = "Taro" age int = 20 score float64 = 88.5 )

4. ゼロ値(初期値)

Goでは、変数に初期値を指定しなかった場合、自動的にその型に応じたゼロ値が設定されます:

ゼロ値
int 0
float64 0.0
string “”(空文字)
bool false
ポインタ nil

5. 定数との違い

変数は値の変更が可能ですが、const を使って定義する定数は再代入できません。用途に応じて使い分ける必要があります。


6. 注意点

  • := で再代入はできない(初回宣言専用)

  • 未使用の変数があるとコンパイルエラーになる

  • 型の明示が必要な場合は var による宣言を使う


まとめ

Goの変数は型に基づいて安全に扱うことができ、初期値の有無によって柔軟に宣言できます。静的型付けながらも型推論が使えるため、記述の簡潔さと安全性を両立できます。

生成日:2025/05/03