2 回答

TA貢獻1893條經驗 獲得超10個贊
您可以通過反射值循環使用 switch,這將返回reflect.Value kind() 以返回該值的確切類型
v := reflect.ValueOf(s interface{})
for t := 0; i < v.NumField(); i++ {
fmt.Println(v.Field(i)) // it will prints the value at index in interface
switch t := v.Kind() {
case bool:
fmt.Printf("boolean %t\n", t) // t has type bool
case int:
fmt.Printf("integer %d\n", t) // t has type int
case *bool:
fmt.Printf("pointer to boolean %t\n", *t) // t has type *bool
case *int:
fmt.Printf("pointer to integer %d\n", *t) // t has type *int
default:
fmt.Printf("unexpected type %T\n", t) // %T prints whatever type t has
}
}
要將接口中的類型轉換為另一種類型,首先在變量中獲取它的值,然后使用類型轉換來轉換該值
- 2 回答
- 0 關注
- 535 瀏覽
添加回答
舉報