为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

正在回答

4 回答

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

tom_0

所以系统提供的答案是错误的。我亲自上机测试过了,我把答案写成了一个方法,然后循环调用了100次,证明系统提供的答案是错误的
2019-05-03 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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


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

1 回复 有任何疑惑可以回复我~
#1

tom_0

你的理解错了,下一个回复是对的
2019-05-03 回复 有任何疑惑可以回复我~
#2

weibo_慕村2134559

a是字符,不是字符串
2021-02-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信