Go - 定数:入門者のガイド
ようこそ、志を抱くプログラマーさんたち!今日は、Go言語の定数の世界に飛び込みます。これまでにコードを一行も書いたことがない方でも心配しないでください。基本的なところから始めて、少しずつ理解を深めていきます。このチュートリアルが終わるまでには、定数の達人になるでしょう!
定数とは?
本題に進む前に、まず定数とは何かを理解しましょう。プログラミングにおいて、定数とはプログラムの実行中に変わらない値のことを指します。これを箱に例えると、中に値を入れて封をした箱のようなものです。一度入れたら、中の値は出て来たり変わったりしません。
整数リテラル
まずは簡単なものから始めましょう。整数リテラルです。これは小数点のない整数です。
例1:基本的な整数リテラル
package main
import "fmt"
func main() {
fmt.Println(42)
fmt.Println(-17)
fmt.Println(0)
}
この例では、42、-17、0という3つの整数リテラルを表示しています。簡単ですね。でもGoでは、整数にさらに凝ることができます。
例2:異なる基数システム
package main
import "fmt"
func main() {
fmt.Println(42) // 10進数(基数10)
fmt.Println(0x2A) // 16進数(基数16)
fmt.Println(052) // 8進数(基数8)
}
ここで面白いことに、全部の行で同じ数字(42)を表示していますが、異なる数体系で書かれています。これは同じ数字を異なる言語で表現するようなものです!
浮動小数点リテラル
では、小数に進んでみましょう。
例3:基本的な浮動小数点リテラル
package main
import "fmt"
func main() {
fmt.Println(3.14159)
fmt.Println(-0.5)
fmt.Println(2.0)
}
これらは一般的な小数です。でもGoでは、それらを表現するさらに多くの方法があります。
例4:科学記数法
package main
import "fmt"
func main() {
fmt.Println(6.022e23) // アボガドロ数
fmt.Println(1.6e-19) // 電子の电荷
}
科学記数法は、非常に大きな数や非常に小さな数に非常に便利です。まるで数にスーパーパワーを与えるようなものです!
エスケープシーケンス
時々、文字列に特別な文字を含める必要があります。その際に便利なのがエスケープシーケンスです。
例5:一般的なエスケープシーケンス
package main
import "fmt"
func main() {
fmt.Println("Hello\nWorld") // 改行
fmt.Println("Tab\tcharacter") // タブ
fmt.Println("Backslash: \\") // バックスラッシュ
fmt.Println("\"Quotes\"") // 引用符
}
これらの小さなバックスラッシュは、普通の文字を特別な文字に変える魔法の杖のようなものです!
Goでの文字列リテラル
文字列はプログラミングの文句のようなものです。Goがそれをどのように処理するかを見てみましょう。
例6:基本的な文字列リテラル
package main
import "fmt"
func main() {
fmt.Println("Hello, Gophers!")
fmt.Println(`This is a raw string literal.
It can span multiple lines.`)
}
違いに気づきましたか?最初のはダブルクォートを使用しており、二番目のはバッククォートを使用しています。バッククォートを使ったバージョンは、ラフ文字列リテラルと呼ばれ、改行を含めることができます!
const
キーワード
では、const
キーワードを使ってすべてを纏めましょう。
例7:定数の宣言
package main
import "fmt"
const (
PI = 3.14159
GRAVITATIONAL_CONSTANT = 6.67430e-11
GREETING = "Hello, Constants!"
)
func main() {
fmt.Println(PI)
fmt.Println(GRAVITATIONAL_CONSTANT)
fmt.Println(GREETING)
}
ここでは、プログラムの後で変更できない定数を宣言しています。これらの値は、まるで石に刻まれたかのようです!
定数メソッド
Goは定数を扱うためのいくつかのメソッドを提供しています。以下にそれらをまとめた表を示します:
メソッド | 説明 | 例 |
---|---|---|
iota |
関連する定数のシーケンスを生成 | const ( A = iota; B; C ) |
类型推論 | Goは定数の类型を推論します | const x = 5 |
未型定数 | 特定の类型を持たない定数 | const y = 3.14 |
型付き定数 | 特定の类型を持つ定数 | const z int64 = 1000000 |
忘れないでください、定数はGoでのあなたの友です。定数を使うことで、コードを整理し、重要な値の accidental changes を防ぐことができます。
結論として、Goの定数は強力なツールで、プログラム内で変更不可の値を定義する手段を提供します。単純な整数から複雑な文字列まで、定数を使うことでコードの可読性とメンテナンス性を高めることができます。
それでは、若いGophers、定数の世界を征伐してください!あなたのGoプログラミングの旅は今始まっています。お楽しみに!
Credits: Image by storyset