変数(var)
変数は、データを一時的に記憶する領域です。
変数に関連した主な用語は次の通りです。
- 変数を使うために『宣言』をする
- 変数宣言では変数を識別するために『変数名』を付ける
- 変数にデータを入れるために『代入』をする
変数の宣言と代入
キーワードvar
を使って変数を宣言します。Goでは、変数名の後に型を書きます。
型はデータの種類を表します。今回指定したint
型は整数です。型の詳細は他のページで扱います。
// 形式: var 変数名 型
var i1 int
代入演算子=
を使って宣言した変数に代入します。
// 形式: 変数名 = 値
i1 = 1
変数宣言と代入を一緒にできます。
// 形式: var 変数名 型 = 初期値
var i1 int = 1
型指定は省略できます。この場合、型は右辺から推論されます。
// 形式: var 変数名 = 初期値
var i1 = 1
同じ型をまとめることができます。
// 形式: var 変数名1, 変数名2... = 初期値1, 初期値2...
var i1, i2 int = 1, 2
異なる型をまとめることができます。
// 形式:
// var (
// 変数名 型 = 初期値
// 変数名 型 = 初期値
// ...
// )
var (
i1 int
s1 string = "test"
s2 = "test2"
)
関数の中では、演算子:=
を使ってキーワードvar
と型の指定を省略できます。
型は右辺から推論されます。関数については以降のページで説明します。
// 形式: 変数名1, 変数名2... := 初期値1, 初期値2...
s1, s2 := 1, 2
変数のサンプルコード
変数を使ったサンプルコードです。
サンプルを参考にして、変数を使ったコードを書いてみてください。 どこからも使われない変数があるとコンパイルエラーになるので注意してください。
package main
import (
"fmt"
)
var (
i1 int = 1
i2 int = 2
)
func main() {
v := "Hello, World."
fmt.Println(v)
fmt.Println(i1, i2)
// 次のコードはコメントを外すとコンパイルエラーになる
// (変数fはどこからも使われないため)
// f := 0.1
}
// 実行結果:
// Hello, World.
// 1 2
注意事項
変数を使う際の注意点をまとめます。
- 演算子
:=
は関数の外では使えない - どこからも使われない変数があるとコンパイルエラーになる