変数(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

注意事項

変数を使う際の注意点をまとめます。

  • 演算子:=は関数の外では使えない
  • どこからも使われない変数があるとコンパイルエラーになる