`:=` による型推論
CoddyのGOジャーニー「基礎」セクションの一部。レッスン 6/109。
Goで := 略記を使用して値を生成および初期化する便利な方法を探ってみましょう。これは型推論 (type inference)と呼ばれ、Goがデータの型 (type) を自動的に判別します。
テキストメッセージを作成するには、:= を使用します:
message := "Hello, Go!"
fmt.Println(message)このコードを実行すると、コンソールに Hello, Go! と出力されるのがわかります。Goは自動的に message が string 型であるべきだと判断しました。
:= を使用して数値を作成してみましょう:
age := 25
fmt.Println(age)これによりコンソールに 25 と出力されます。Go は自動的に age を整数型(integer type)にしました。
小数を作成してみましょう:
price := 19.99
fmt.Println(price)これにより、コンソールに 19.99 が出力されます。Goは自動的に price を浮動小数点型(floating-point type)にしました。
チャレンジ
初心者このチャレンジでは、Goにおける型推論のための := 演算子の使い方を練習します。
プログラムにはすでに明示的な型を持つ var キーワードを使用して宣言された変数があります。あなたのタスクは、Goに自動的に型を推論させる := 簡略構文を使用して2つの新しい変数を宣言することです。
プログラムが正しい値を正しく出力するように、コード内のTODOを完了させてください。
自分で試してみよう
package main
import "fmt"
func main() {
// 明示的な型で宣言された変数
var name string = "Gopher"
var age int = 5
// TODO: 下の行を 'language' の := 宣言に置き換え、タスクで求められている値を使用する
var language string = ""
// TODO: 下の行を 'version' の := 宣言に置き換え、タスクで求められている値を使用する
var version float64 = 0
// すべての変数を出力
fmt.Println("Name:", name)
fmt.Println("Age:", age)
fmt.Println("Language:", language)
fmt.Println("Version:", version)
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Goオンラインコンパイラ