標籤:Go 語言中資料類型的判斷 Go資料類型判斷 Go資料類型
Go 語言中資料類型的判斷,本文介紹三種方法。
方法一:使用i.(type)結合空介面(interface{})
func main() { v1 := "中國你好" v2 := 20 var v3 byte = 65 fmt.Printf("v1的資料類型為:%s\n", checkType(v1)) fmt.Printf("v2的資料類型為:%s\n", checkType(v2)) fmt.Printf("v3的資料類型為:%s\n", checkType(v3))}func checkType(i interface{}) string{ switch i.(type) { case string : return "string" case int : return "int" case byte : return "byte" } return ""}
輸出:
v1的資料類型為:stringv2的資料類型為:intv3的資料類型為:byte
注意:i.(type) 只能在switch中使用
方法二:使用fmt中的格式化輸出%T
func main() { v1 := "中國你好" v2 := 20 var v3 byte = 65 fmt.Printf("v1的資料類型為:%T\n", v1) fmt.Printf("v2的資料類型為:%T\n", v2) fmt.Printf("v2的資料類型為:%T\n", v3)}
輸出:
v1的資料類型為:stringv2的資料類型為:intv2的資料類型為:uint8
說明:byte與uint8是同一類型
方法三:使用reflect反射中的TypeOf函數
func main() { v1 := "中國你好" v2 := 20 var v3 byte = 65 fmt.Printf("v1的資料類型為:%v\n", reflect.TypeOf(v1)) fmt.Printf("v2的資料類型為:%v\n", reflect.TypeOf(v2)) fmt.Printf("v3的資料類型為:%v\n", reflect.TypeOf(v3))}
輸出:
v1的資料類型為:stringv2的資料類型為:intv2的資料類型為:uint8
Go 語言中資料類型的判斷