我正在调用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 关注
- 199 浏览
添加回答
举报
0/150
提交
取消
