スキップしてメイン コンテンツに移動

Go変数・定数の基礎と命名

Go変数・定数の基礎と命名

変数と定数の基本

Go初心者が最初に直面する概念は「変数」と「定数」です。変数は値を保持し、後で変更できるストレージです。一方、定数は一度設定すると変更できません。Goでは var キーワードで変数を宣言し、const キーワードで定数を宣言します。

var age int = 30
const pi = 3.14159

型を省略すると、Goは右辺の値から型を推論します。

var name = "Alice" // string型が推論される

varとconstの使い分け

変数は値が変わる可能性がある場面で使用します。定数は変更されない値、例えば数学定数や設定値に適しています。定数はコンパイル時に決定されるため、実行時に計算されることはありません。

const maxRetries = 5
var counter int

定数は型を明示的に指定することもできます。

const greeting string = "Hello"

短縮宣言と代入

Goでは = を使った短縮宣言が可能です。関数内でのみ有効で、変数が未宣言の場合に自動で宣言されます。

func main() {
    x := 10   // var x int = 10 と同等
    y, z := 20, "Go"
}

短縮宣言は複数の変数を同時に宣言・代入できる便利な構文です。既に宣言済みの変数に対しては := は使えません。

ゼロ値と初期化

Goでは変数を宣言すると自動的に「ゼロ値」が設定されます。数値型は 0、文字列は空文字、ポインタは nil です。これにより、未初期化の変数を使うリスクが減ります。

var count int   // count は 0
var name string // name は ""

明示的に初期化したい場合は var の後に初期値を付けます。

var flag bool = true

スコープと命名規則

変数のスコープは宣言位置によって決まります。パッケージレベルで宣言した変数は全ファイルからアクセス可能です。関数内で宣言した変数はその関数内でのみ有効です。

var global int = 100

func foo() {
    local := 10
    fmt.Println(global, local)
}

命名規則として、Goはキャメルケースを推奨します。パッケージ名は小文字で、複数語は連結します。関数名や変数名は意味を持つように命名し、必要に応じて大文字でエクスポートします。

この記事はAIによって作成されました。

コメント