猿问
下载APP

golang中.([]byte)用法的含义是什么

b, ok := val.([]byte)

如果是转换类型的话 不应该是 []byte(val) 吗 类似于 string(val)


阿星丫
浏览 4984回答 1
1回答

tonybai

这是标准的golang类型断言(Type Assertion),不是你理解上的显式转型。这里的val一般是一个interface{}类型的变量。这句的字面含义是“我认为val这个interface{}类型变量的underlying type是[]byte,如果是,请将其值赋给变量b,并且ok =true,如果不是ok = false。”-- tonybai.com
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答