【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

回到顶部