问答详情
源自:7-2 Go语言-switch语句

[]interface{}{byte(6), 'a', uint(10), int32(-4)} 这种表达是什么意思??

又是接口又是数组,接口里面不都是方法吗?

提问者:y_play 2018-06-03 10:52

个回答

  • 暮日孤影
    2020-06-18 14:14:57

    interface{} 是一个空的 interface 类型,一个类型如果实现了一个 interface 的所有方法就说该类型实现了这个 interface,空的 interface 没有方法,所以可以认为所有的类型都实现了 interface{}

  • Ywandung_Lyou
    2019-02-10 19:46:37

    `rand.Intn(4) % 2`的结果是0或1;如果结果是0就是byte类型,请问者为什么会输出“Case A.”?

  • 灿烂满天星
    2018-12-23 16:33:53

    []interface{}{byte(6),  'a',  uint(10),  int32(-4)} 是一个切片,其中'a'在这里会自动转换为ASCII码,也就是97。等同于 []interface{}{byte(6),  int(97),  uint(10),  int32(-4)}  

  • sliverg
    2018-06-04 06:44:52

    这就是一个slice, interface的意思是这个slice里面可以是任何类型, byte(6),uint(10)   ,这些都是类型转换,都是一个实数。还有你这个有错误,'a'这个会编译报错,GO不支持单引号


    实际上你可以理解为这样一个slice     []interface{1,"a",3,4,5}    ,