golang类型断言
类型断言是一个使用在接口值上的操作
有时候,我们可能需要知道某个接口类型的实际类型,比如某个方法需要接收多种类型的数据并需要做分别处理,我们可以把形参设为空接口类型并接收任意类型的值,但是我们怎么反向知道里面实际保存的是哪个类型的对象呢?
- <font color="#c7254e">Comma-ok 断言</font>
语法
- <font color="#c7254e">value,ok := x.(T)
x表示一个接口的类型,T表示一个类型(也可为接口类型)</font>
该断言表达式会返回x的值和一个布尔值 可根据该布尔值判断x是否为T类型
如:
func main() {
var x interface{}
x = 10
value, ok := x.(int)
fmt.Print(value, ",", ok)
}
输出:
<font color="#c7254e">10,true</font>
有疑问加站长微信联系(非本文作者)