猿问

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)}


浮云间
浏览 737回答 2
2回答

莫回无

就是一个slice, 元素类型为interface{}; 可以理解为可以存入任何类型的数组

慕神8447489

楼上讲的非常好。[]表示这是一个sliceinterface{}表示可以slice中可以存入任何数据最后{}中的内容就是slice初始化不过,一般不推荐这样使用slice。速度会有很大影响。
随时随地看视频慕课网APP

相关分类

Go
我要回答