要判斷資料型別,可以用Go的空介面:
建一個函式t 設定引數i 的型別為空介面,空介面可以接受任何資料型別
func t(i interface{}) {
//函式t
有一個引數i
switch i.(type) {
//多選語句switch
case string:
//是字元時做的事情
case int:
//是整數時做的事情
}
return
i.(type)
只能在switch中使用
這函式沒有返回值,你可以自己加入
還可以用反射:
package main
import (
"fmt"
"reflect"
)
func main() {
var x float64 = 3.4
fmt.Println("type:", reflect.TypeOf(x))
這樣就可以得出變數x的型別資訊,與上面不同的是:上面的方法要先知到它是幾個型別中的一個,而這個方法可以對任意物件使用
要判斷資料型別,可以用Go的空介面:
建一個函式t 設定引數i 的型別為空介面,空介面可以接受任何資料型別
func t(i interface{}) {
//函式t
有一個引數i
switch i.(type) {
//多選語句switch
case string:
//是字元時做的事情
case int:
//是整數時做的事情
}
return
}
i.(type)
只能在switch中使用
這函式沒有返回值,你可以自己加入
還可以用反射:
package main
import (
"fmt"
"reflect"
)
func main() {
var x float64 = 3.4
fmt.Println("type:", reflect.TypeOf(x))
}
這樣就可以得出變數x的型別資訊,與上面不同的是:上面的方法要先知到它是幾個型別中的一個,而這個方法可以對任意物件使用