Go言語入門 - 変数
Go言語入門のうち、変数についてまとめています。
Goの公式仕様はこちらに載っています。 https://go.dev/ref/spec
変数とは
変数は、ある型1つと、それに合った値1つを保持するものです。
例えばstring型の変数は、文字列である"a"を保持できます。逆に、数字の1などを保持することはできません。
宣言
基本的には、関数内で変数の宣言を行います。
main.go例
package main import "fmt" func main() { s := "a" fmt.Println(s) }
宣言の方法はいくつかあるので、次はそれを挙げていきます。
変数名 := 値
最も使うパターンです。
上のmain.go例で使っているのもこれです。
宣言と代入を行っていて、最もシンプルに書けます。
型名が省略されていますが、型は値から自動で推測されます。
- 値が
""
で囲まれている(=値が文字列) → string型 - 値が数字 → int型
- 値が
true
またはfalse
→ bool型
右辺が値ではなく、変数名 := 関数名(引数)
というパターンもあります。この場合は、関数の宣言で値の型が決まっています。
var 変数名 型名
例
var s string
このパターンのように初期値の無い宣言を行うと、値には型のゼロ値が入ります。
型によってゼロ値は異なり、string型は""(=空文字)、int型は0です。
var 変数名 型名 = 値
var s string = "a"
var 変数名 = 値
var s = "a"
複数の変数を宣言
s, t := "a", "b" var s, t string var s, t string = "a", "b" var s,t = "a", "b" var ( s string t = "a" )