Any 型とは
type any = interface{}
any is an alias for interface{} and is equivalent to interface{} in all ways.
↑ interface{} のエイリアスらしい。
any の使い方
interface{} も使い方は同じ。
package main
import (
"fmt"
)
func main() {
// var test interface{} = "test"
var test any = "test"
// 2つ目の返り値を取得しない場合、
// 型を間違えると panic() を起こすので注意。
t, valid := test.(string)
// t, valid := test.(bool)
// t, valid := test.(int)
fmt.Print(t, ": ", valid, "\n")
// .(type) で型を調べられる。
// 但し、switch 構文限定。
switch test.(type) {
case string:
fmt.Print("this type is String.\n")
case int:
fmt.Print("this type is Int.\n")
case bool:
fmt.Print("this type is Boolean.\n")
}
}