Go言語(golang) 変数と定数
Go言語の変数と定数の宣言と値の代入について
目次
変数の宣言と代入
var
に続けて 変数名 型
で宣言し、代入演算子 =
で値をセットします。
変数名にはアルファベット小文字/大文字とアンダーバー「_
」、先頭以外には数字が使えます。
package main func main() { var integer int // printlnは出力するための関数。 // 変数の値(ゼロ値)が出力される println(integer) // 0 と表示される // 変数に数値を代入 integer = 100 // 変数の値を出力する println(integer) // 100 と表示される // 再代入。値の変更 integer = 200 println(integer) // 200 と表示される }
変数に値を代入してない状態では型それぞれのゼロ値になっている。
ゼロ値
string型であれば空文字 "" int型(数値型)であれば 0 bool型であれば false
まとめて宣言する
package main func main() { // 同じ型の変数は一行で宣言できる var a, b, c int println(a, b, c) // () で囲んでまとまり感を出す var ( d int e int f int ) println(d, e, f) // これも同じ型であれば一行で書ける var ( g, h, i int j, k, l string ) println(g, h, i, j, k, l) }
宣言と代入を一度に行う
型を省略した場合は、型推論によって代入された値から自動的に型が決まる
package main func main() { var integer int = 100 println(integer) // 100 // 型名は省略可能 var number = 200 println(number) // 200 // varも省略可能。 = の前に : をつける numeric := 300 println(numeric) // 300 }
多重代入
変数名と値をそれぞれカンマ区切りで書くことで、一行で複数の変数を宣言/代入できる
package main func main() { x, y := 100, 200 println(x, y) // 100, 200 }
定数
定数は const
に続けて定数名と型を書きます。型名は省略可能
定数名は基本的に先頭の文字にアルファベット大文字を使います。
また、定数は変数と違って値の変更(再代入)ができません。
package main func main() { const Integer = 100 println(Integer) // 100 // 値を変更しようとするとエラーになる // Integer = 200 // cannot assign to Integer }