Slide 41
Slide 41 text
3. サンプルを交えてさらに深ぼる
空インターフェイス interface{} (any)
func printAnything(v interface{}) {
fmt.Println(v)
}
func main() {
printAnything(42) // 整数を出力
printAnything("Hello") // 文字列を出力
printAnything(3.14) // 浮動小数点を出力
printAnything(true) // ブール値を出力
}
func main() {
data := map[string]interface{}{
"name": "Alice",
"age": 25,
"active": true,
"scores": []int{85, 90, 78},
}
// 値を動的に処理
for key, value := range data {
fmt.Printf("Key: %s, Type: %T, Value: %v\n", key,
value, value)
}
}
Key: name, Type: string, Value: Alice
Key: age, Type: int, Value: 25
Key: active, Type: bool, Value: true
Key: scores, Type: []int, Value: [85 90 78]
● メソッドを一切持たないイン
ターフェイス
● すべての型が暗黙的にこの空イ
ンターフェイスを実装している
とみなされる