在Ruby中,数组可以包含字符串或整数,在Javascript和python中也是如此。但是在Go中,将整数和字符串放在一起似乎很困难,或者至少我无法弄明白。一个数组是否能够像在Python和Ruby中一样在Go中获取整数和字符串?
红宝石:
a = [20, "tim"]
puts a
的Python:
a = [20, "tim"]
print(a)
转到:
?
答案 0 :(得分:1)
因为Go是一种类型化的语言,要在Go中创建多个类型的切片,您需要指定多个类型可以满足的类型。要在Go中执行此操作,请创建空接口(interface{}
)的切片,如下所示:
a := []interface{}{20, "tim"}
fmt.Println(a)
这是有效的,因为空接口是一个没有方法的接口,所以所有类型都匹配它。
创建切片或混合类型数组通常不会在Go中完成,但如果需要,可以这样做。
您可以在此处阅读有关接口的更多信息: