-2
我有一個簡單的函數,它接受一個變量獲得它的類型和交換機的方式處理它,但我得到一個錯誤:Golang錯誤我不是一個類型
i is not a type
我的代碼如下所示:
var whatAmI = func(i, interface{}) { // error is here
switch t := i.(type) {
case bool:
fmt.Println("I'm a bool!")
case int:
fmt.Println("I'm an int!")
default:
fmt.Println("Don't know type %T\n", t)
}
}
whatAmI(true)
whatAmI(1)
whatAmI("hey")
我在這裏誤解了什麼嗎?
哦,所以它說'我'是一個'界面',使現在更有意義:D – Sir
你怎麼使用'reflect.TypeOf(t)'? – Sir
@Sir通過這種方式,我們可以看到它是什麼類型。點擊我發佈的鏈接,用't'替換'reflect.TypeOf(t)',看看會發生什麼,如果我們不這樣做。 –