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はキャメルケースを推奨します。パッケージ名は小文字で、複数語は連結します。関数名や変数名は意味を持つように命名し、必要に応じて大文字でエクスポートします。
コメント
コメントを投稿