問題:
在使用interface表示任何型別時,如果要將interface轉為某一型別,直接強制轉換是不行的,例如:
var t interface{} = "abc"
s := string(t)
cannot convert t(type interface {}) to type string: need type assertion
這樣是不行的,需要進行type assertion型別斷言,具體使用方法請參考:
golang 任何型別interface{}
解決
package main
import (
"fmt"
)
func main() {
CheckType("tow", 88, "three")
}
func CheckType(args ...interface{}) {
for _,v := range args {
switch v.(type) {
case int:
fmt.Println("type:int, value:", v)
case string:
fmt.Println("type:string, value:", v)
default:
fmt.Println("type:unkown,value:",v)
}
}
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結