如何检索此接口的 []byte 值?package mainimport ( "reflect")func byteInterface() interface{} { return []byte("foo")}func main() { //var b []byte i := byteInterface() switch { case reflect.TypeOf(i).Kind() == reflect.Slice && (reflect.TypeOf(i) == reflect.TypeOf([]byte(nil))): default: panic("should have bytes") }}
1 回答
慕村225694
TA贡献1880条经验 获得超4个赞
您可以为此使用类型断言;无需使用reflect包:
package main
func byteInterface() interface{} {
return []byte("foo")
}
func main() {
i := byteInterface()
if b, ok := i.([]byte); ok {
// use b as []byte
println(len(b))
} else {
panic("should have bytes")
}
}
- 1 回答
- 0 关注
- 159 浏览
添加回答
举报
0/150
提交
取消