【go】Go 变量定义疑问
请教在以下代码中, ia 变量到底是什么类型呢
func main() {ia := []interface{}{byte(6), 'a', uint(10), int32(-4)}
// var numbers = [3]int{1, 2, 3}
switch v := ia[rand.Intn(4) % 2 ]; interface{}(v).(type) {
case int32 :
fmt.Printf("Case A.")
case byte :
fmt.Printf("Case B.")
default:
fmt.Println("Unknown!")
}
}
这个方法中
ia := []interface{}{byte(6), 'a', uint(10), int32(-4)}
这个变量声明怎么解释呢
就是一个slice, 元素类型为interface{}; 可以理解为可以存入任何类型的数组
楼上讲的非常好。
[]表示这是一个slice
interface{}表示可以slice中可以存入任何数据
最后{}中的内容就是slice初始化
不过,一般不推荐这样使用slice。速度会有很大影响。
谢谢楼上两位
回答
以上是 【go】Go 变量定义疑问 的全部内容, 来源链接: www.h5w3.com/114884.html