go interface{}型別轉換
go interface{}型別轉換
目錄
- 檢視interface{}型別
- 還原interface{}的原型別
1. 檢視interface{}型別
func checkType(i interface{}) {
reflect.TypeOf(i)
}
2. 還原interface{}的原型別
- 通過switch判斷interface{}型別,然後通過 xxx.(型別) 強轉
type Person struct {
name string
age int
}
func checkType(i interface{}) {
switch v := i.(type) { //這裡是通過i.(type)來判斷是什麼型別 下面的case分支匹配到了 則執行相關的分支
case int:
fmt.Printf("%v is an int\n", v)
case string:
fmt.Printf("%v is string", v)
case Person:
fmt.Println("Person", reflect.TypeOf(i))
i2 := i.(Person) //將 i 強轉為 Person
fmt.Println(i2.name)
case bool:
fmt.Printf("%v is bool", v)
}
}
func main() {
var info Person
info.name = "zs"
info.age = 20
checkType(info)
}
相關文章
- Go interface 原理剖析--型別轉換Go型別
- interface{} 型別的轉換型別
- golang,interface轉換型別 cannot convert t (typGolang型別
- go-常用型別轉換Go型別
- go語言資料型別轉換Go資料型別
- Go小工具系列——型別轉換Go型別
- Golang引入泛型:Go將Interface{}替換為“Any”Golang泛型
- 為什麼 Go 不支援 []T 轉換為 []interfaceGo
- 型別轉換型別
- 兄弟連go教程(4)型別-引用及轉換Go型別
- java- 型別-轉換:基本型別以及包裝型別的轉換Java型別
- 資料型別,型別轉換資料型別
- 淺談Go型別轉換之間的那些事Go型別
- 淺談 Go 型別轉換之間的那些事Go型別
- js型別轉換JS型別
- 型別轉換(cast)型別AST
- Convert型別轉換型別
- Go專案實戰—引數繫結,型別轉換Go型別
- Java資料型別及型別轉換Java資料型別
- JNI常用型別轉換型別
- 容器,型別轉換。List。型別
- c++ 型別轉換C++型別
- 型別轉換注意點型別
- 變數型別轉換變數型別
- Spring型別轉換(Converter)Spring型別
- 資料型別轉換資料型別
- golang的型別轉換Golang型別
- 型別轉換運算子型別
- C# 型別轉換C#型別
- 型別轉換工具類型別
- 強制型別轉換型別
- 第11章 使用類——型別轉換(二)將自定義型別轉換為內建型別型別
- mysql bigint型別和datetime型別的轉換MySql型別
- JavaScript隱式型別轉換JavaScript型別
- 強制型別轉換之(==)型別
- JavaScript 資料型別轉換JavaScript資料型別
- 型別轉換(int 和 String)型別
- Pytorch變數型別轉換PyTorch變數型別