目次
variables
Go言語の変数について学ぶ:変数の宣言、型、スコープ、値の代入
1. はじめに
Go言語では、プログラム内でデータを扱うために変数を使用します。本記事では、以下の内容について詳しく学びます。
- 変数の宣言方法
- 変数の型と型推論
- 変数のスコープ(有効範囲)
- 変数への値の代入
- 実際のコードを用いたハンズオン
Goの変数の仕組みを理解すれば、より効率的にプログラムを書くことができます。
2. 変数の宣言方法
2.1 var
キーワードを使う方法
Goでは var
を使って変数を宣言します。
package main
import "fmt"
func main() {
var message string // 変数の宣言(デフォルト値は空文字)
message = "Hello, Go!" // 値の代入
fmt.Println(message)
}
var 変数名 型
の形で宣言string
型の変数message
を宣言message
に"Hello, Go!"
を代入
2.2 型推論(:=
を使う方法)
Goでは :=
を使うことで型を省略し、推論させることができます。
package main
import "fmt"
func main() {
message := "Hello, Go!" // 型推論による変数宣言
fmt.Println(message)
}
:=
を使うとvar
を省略できる- 右辺の値から
string
型と推論
2.3 複数の変数を一括で宣言
複数の変数を一括で宣言することも可能です。
package main
import "fmt"
func main() {
var a, b, c int // すべて int 型
a, b, c = 1, 2, 3
fmt.Println(a, b, c)
}
また、異なる型の変数も一括宣言できます。
package main
import "fmt"
func main() {
var (
name string = "Alice"
age int = 25
score float64 = 89.5
)
fmt.Println(name, age, score)
}
3. 変数の型
Goは静的型付け言語であり、変数の型はコンパイル時に決まります。代表的な型は以下の通りです。
型 | 説明 | 例 |
---|---|---|
int | 整数 | var x int = 10 |
float64 | 浮動小数点数 | var y float64 = 3.14 |
string | 文字列 | var msg string = "Go" |
bool | 真偽値 | var flag bool = true |
rune | Unicode 文字 | var char rune = 'A' |
byte | 8ビット符号なし整数 | var b byte = 255 |
4. 変数のスコープ(有効範囲)
変数のスコープとは、どこで変数を使えるかを指します。
4.1 関数内のローカル変数
関数内で宣言した変数は、その関数内でのみ有効です。
package main
import "fmt"
func printMessage() {
message := "Hello from function!"
fmt.Println(message)
}
func main() {
printMessage()
// fmt.Println(message) // これはエラー(スコープ外)
}
4.2 グローバル変数
関数の外で宣言された変数は、プログラム全体で使用できます。
package main
import "fmt"
var globalMessage = "I am global"
func printGlobal() {
fmt.Println(globalMessage) // OK
}
func main() {
printGlobal()
fmt.Println(globalMessage) // OK
}
4.3 ブロック内の変数
ブロック {}
内で宣言した変数は、そのブロック内のみ有効です。
package main
import "fmt"
func main() {
if true {
x := 10
fmt.Println(x) // OK
}
// fmt.Println(x) // これはエラー(スコープ外)
}
5. 変数への値の代入
変数に値を代入する方法を説明します。
5.1 初期化と代入
var number int = 42 // 初期化
number = 100 // 値の変更
5.2 定数と変数の違い
定数 const
は値を変更できません。
const pi = 3.14
// pi = 3.1415 // これはエラー
6. ハンズオン:変数を使ってみる
以下のコードを実行し、変数の使い方を確認しましょう。
package main
import "fmt"
var globalVar = "Global Variable"
func main() {
localVar := "Local Variable"
var number int = 10
number = 20 // 値の変更
fmt.Println(globalVar)
fmt.Println(localVar)
fmt.Println("Number:", number)
printScopedVariable()
}
func printScopedVariable() {
scopedVar := "Scoped Variable"
fmt.Println(scopedVar)
}
実行結果:
Global Variable
Local Variable
Number: 20
Scoped Variable
7. この記事を読んでできるようになること
- Goの変数の宣言方法 (
var
と:=
) - 型を理解し、適切に変数を使う
- スコープを意識したコードを書く
- 変数の値を変更・代入する
これで、Goの変数の基本をしっかり学ぶことができました!次のステップでは、配列やスライス、マップを使ったデータ管理に進んでいきましょう。