Go 語言中數據類型的判斷
阿新 • • 發佈:2018-05-03
Go 語言中數據類型的判斷 Go數據類型判斷 Go數據類型 Go 語言中數據類型的判斷,本文介紹三種方法。
方法一:使用i.(type)結合空接口(interface{})
方法一:使用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的數據類型為:string
v2的數據類型為:int
v3的數據類型為: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的數據類型為:string v2的數據類型為:int v2的數據類型為: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的數據類型為:string v2的數據類型為:int v2的數據類型為:uint8
Go 語言中數據類型的判斷