-2
例如,我有一個名爲interface{}
a
,我也有一個reflect.Type
稱爲elemType
。現在,我要鍵入斷言到elemType
,但a.(elemType)
不能成功編譯。如何解決它?在golang中,如何輸入assert interface {}爲由reflect.Type指定的類型?
對不起,我的困惑表情。我的意思是,我從一個函數中獲得一個類型,並且我想要爲此類型鍵入一個接口{},但是此類型存儲在reflect.Type變量中。
我想要做的是類似下面的代碼:
var a interface{}
//do something
func getType() reflect.Type {
var ret reflect.Type
//do something
return ret
}
targetType := getType()
result := a.(targetType)
elemType不是一個類型,它是一種變種,這就是爲什麼這種類型的說法不能工作。你可以對'reflect.Type'做一個類型斷言,但不知何故,我懷疑你想要做什麼。向我們展示一些代碼吧? – HectorJ
Puh,empty'interface {}'_and_type assertion to'reflect.Type'!你確定你a)必須和b)應該像這樣解決你的問題嗎?有時候反思是做事情的最好方式,有時候空的界面是有幫助的,但兩者都不是解決問題最直接的方法。 – Volker