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型別
- Golang引入泛型:Go將Interface{}替換為“Any”Golang泛型
- PHP 型別轉換&&型別強制轉換PHP型別
- 為什麼 Go 不支援 []T 轉換為 []interfaceGo
- java型別轉換與強制型別轉換(轉)Java型別
- 兄弟連go教程(4)型別-引用及轉換Go型別
- 型別轉換型別
- java- 型別-轉換:基本型別以及包裝型別的轉換Java型別
- 資料型別,型別轉換資料型別
- 淺談 Go 型別轉換之間的那些事Go型別
- 淺談Go型別轉換之間的那些事Go型別
- js型別轉換JS型別
- 字元型別轉換字元型別
- 3.2 型別轉換型別
- JavaScript 型別轉換JavaScript型別
- Golang型別轉換Golang型別
- Go專案實戰—引數繫結,型別轉換Go型別
- Go 常量、init、陣列、型別轉換與斷言、RecoverGo陣列型別
- C++中的向上型別轉換和向下型別轉換C++型別
- Java資料型別及型別轉換Java資料型別
- 字元型別轉換成時間型別字元型別
- Oracle Long型別轉換為Clob型別Oracle型別
- JNI常用型別轉換型別
- 資料型別轉換資料型別
- 型別轉換注意點型別
- 強制型別轉換型別
- 變數型別轉換變數型別
- spark dataframe 型別轉換Spark型別
- 容器,型別轉換。List。型別
- sql server型別轉換SQLServer型別
- 陣列型別轉換陣列型別
- struts 型別轉換器型別
- C++型別轉換C++型別
- 第11章 使用類——型別轉換(二)將自定義型別轉換為內建型別型別