明示的な型定義
「var 変数名 型 = 値」のフォーマットで明示的な型定義をした変数宣言ができます。
var number int = 10
例えば上記の例だと、変数numberをint型で宣言し、数値の10という値を代入してます。
暗黙的な型定義
「変数名 := 値」のフォーマットだと暗黙的な型定義の変数宣言ができます。変数の型は代入された値の型がそのまま反映されます。
これを「型推論」とも言います。わざわざ型を指定せず、代入される値の型を推論するということです。
number := 10
こちらも変数numberの型はint型で値は10が代入されてます。
具体例にコードを書いてみる
main.goファイルを用意し、以下のコードを記述して出力してみます。
package main
import (
fmt
)
func main () {
var number1 int = 1
number2 := 2
fmt.Println(number1) // number1を出力
fmt.Println(number2) // number2を出力
fmt.Printf("%T\n", number1) // number1の型を出力
fmt.Printf("%T\n", number2) // number2の型を出力
}
出力結果
1
2
int
int
明示的に指定した場合も暗黙的に指定した場合も、どちらも型はint型となっているのが分かりますね。