カスタム型の定義
CoddyのGOジャーニー「基礎」セクションの一部 — レッスン 94/109。
Goでは、既存の型に基づいて独自のカスタム型を作成できます。これにより、コードの明快さと型安全性が向上します。
摂氏温度のためのカスタム型を定義します:
type Celsius float64
func main() {
var temperature Celsius = 25.5
fmt.Printf("Temperature: %.1f°C\n", temperature)
}結果は温度の値を表示しています:
Temperature: 25.5°Cカスタム型は、その基底型のように振る舞いますが、コンパイラによって別の型として扱われるため、コードの可読性が向上し、論理的なエラーを防ぐことができます。
チャレンジ
初心者このチャレンジでは、Goでカスタム型を定義する練習をします。カスタム型を使用すると、既存の型に基づいて独自のデータ型を作成できます。
あなたのタスクは、float64に基づいたTemperatureという名前のカスタム型を定義し、この型の変数を作成することです。
型を定義した後、プログラムは温度変数の値と型を出力する必要があります。
チートシート
Goでtypeキーワードを使用してカスタム型を作成します:
type Celsius float64カスタム型は既存の型に基づいていますが、コンパイラによって別の型として扱われます:
type Celsius float64
func main() {
var temperature Celsius = 25.5
fmt.Printf("Temperature: %.1f°C\n", temperature)
}カスタム型は、基になる型のように動作しながら、コードの可読性を向上させ、型安全性を提供します。
自分で試してみよう
package main
import "fmt"
// TODO: float64に基づいた「Temperature」というカスタム型を定義してください
func main() {
// 値が23.5のTemperature型の変数を作成します
var roomTemp Temperature = 23.5
// roomTempの値と型を出力します
fmt.Printf("Room temperature: %v\n", roomTemp)
fmt.Printf("Type of roomTemp: %T\n", roomTemp)
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。