我正在調用os/Create函數,并希望在我的一個測試用例中確保響應確實是 *os.File 類型。下面是我的代碼片段。雖然我做了很多迭代,但這些行的動機是這篇文章。//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當我運行這段代碼時,我感到恐慌:panic: reflect: non-interface type passed to Type.Implements [recovered] panic: reflect: non-interface type passed to Type.Implements請建議我做錯了什么。我要檢查的是 - 某些變量的類型是 *os.File - 是或否。
1 回答

絕地無雙
TA貢獻1946條經驗 獲得超4個贊
我想你可能只是在尋找
var varType *os.File
tpe := reflect.TypeOf(varType).Elem()
fmt.Println(tpe == reflect.TypeOf(somevar).Elem())
- 1 回答
- 0 關注
- 168 瀏覽
添加回答
舉報
0/150
提交
取消