変数を宣言する一般的な形式は、var キーワードを使用することです。
var name type
このうち、varは変数を宣言するためのキーワード、nameは変数の名前、typeは変数の型です。
Go 言語は多くのプログラミング言語とは異なり、変数を宣言するときに変数名の後に変数の型を置きます。この利点は、C 言語のようなあいまいな宣言形式 (例: int* a, b;
を回避できることです。ここで、a のみがポインタであり、b はポインタではありません。両方の変数をポインターにしたい場合は、それらを別々に記述する必要があります。ただし、Go では、ポインター型として簡単に宣言できます。
var a, b *int
Go 言語の基本的なタイプは次のとおりです。
- boolean
- string
- int、int8、int16、int32、int64
- uint、uint8、uint16、uint32、uint64、uintptr
- byte // uint8 のエイリアス
- rune // int32 のエイリアスは Unicode コードを表します
- float32、float64
- complex64、complex128
変数が宣言されると、システムは自動的にその型のゼロ値を割り当てます。int の場合は 0、float の場合は 0.0、bool の場合は false、string の場合は空の文字列、ポインタの場合は nil などです。 Go のすべてのメモリが初期化されます。
変数の命名規則は、ラクダの命名規則に従います。つまり、最初の単語は小文字で、新しい単語の最初の文字は大文字になります (例: numShips と startDate)。
変数宣言にはいくつかの形式があり、次のセクションで要約します。
標準フォーマット
Go 言語での変数宣言の標準形式は次のとおりです。
var 变量名 变量类型
変数宣言はキーワード var で始まり、その後に変数の型が続きます。行末にセミコロンは必要ありません。
バッチ形式
各行で var を使用して変数を宣言するのは面倒だと思いませんか?それは問題ではありません。怠け者向けに変数を定義する別の方法があります。
var (
a int // 整数型の変数a
b string // 文字列型の変数b
c []float32 // float32型のスライスc
d func() bool // bool型を返す関数型変数d
e struct { // 構造体型の変数e
x int // 整数型のフィールドxを持つ
}
)
変数定義のセットは、キーワード var と括弧を使用してまとめることができます。
Short Form
var キーワードに加えて、より短い変数定義および初期化構文を使用できます。
名字 := 表达式
短い変数宣言には次の制限があることに注意してください。
- 変数を明示的に初期化しながら定義します。
- データの種類は指定できません。
- 関数内でのみ使用できます。
var 形式宣言ステートメントと同様に、短い変数宣言ステートメントも変数のセットを宣言して初期化するために使用できます。
i, j := 0, 1
以下は、変数宣言の基本的なスタイルを短い形式で示すコードです。
func main() {
x:=100
a,s:=1, "abc"
}
メイン関数() {
x:=100
a,s:=1, "abc"
}
短い変数宣言は、その簡潔さと柔軟性により、ほとんどのローカル変数の宣言と初期化に広く使用されています。 var 形式の宣言は、変数の型を明示的に指定する必要がある場合、または変数が後で再割り当てされるため初期値が重要ではない場合によく使用されます。