类型断言表达式
value, ok := interface{}(container).([]string)
首先这个表达式叫做类型断言表达式, 它的格式为:x.(T)
, 其中x
代表需要判断类型的值, 而这个值当下的类型必须是接口类型, 所以, 当这里的container变量类型不是任何接口类型的时候, 我们需要将它转化成某个接口类型的值.
这个表达式会产生两个值, 第一个值是value, 表示成功转化后的值, 第二个值表示类型是否转化成功
比如下面这段代码, 可以进行测试一下
package main
import "fmt"
func main() {
var a int = 34
value, ok := interface{}(a).(int)
if ok == true {
fmt.Println(value)
}
}
标签:ok,断言,value,类型,接口类型,Go,表达式,语言
From: https://www.cnblogs.com/zhengel/p/17046436.html