我正在調(diào)用os/Create函數(shù),并希望在我的一個(gè)測(cè)試用例中確保響應(yīng)確實(shí)是 *os.File 類型。下面是我的代碼片段。雖然我做了很多迭代,但這些行的動(dòng)機(jī)是這篇文章。//somevar -- gets *os.File from a functionvar varType *os.Filetpe := reflect.TypeOf(varType).Elem()fmt.Println(reflect.TypeOf(somevar).Implements(tpe)) // I expect a true or false當(dāng)我運(yùn)行這段代碼時(shí),我感到恐慌:panic: reflect: non-interface type passed to Type.Implements [recovered] panic: reflect: non-interface type passed to Type.Implements請(qǐng)建議我做錯(cuò)了什么。我要檢查的是 - 某些變量的類型是 *os.File - 是或否。
1 回答

絕地?zé)o雙
TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
我想你可能只是在尋找
var varType *os.File
tpe := reflect.TypeOf(varType).Elem()
fmt.Println(tpe == reflect.TypeOf(somevar).Elem())
- 1 回答
- 0 關(guān)注
- 158 瀏覽
添加回答
舉報(bào)
0/150
提交
取消