Do Arrays在Go中的功能与在Ruby或Python中的功能相同吗?

时间:2015-07-31 00:08:57

标签: arrays go

在Ruby中,数组可以包含字符串或整数,在Javascript和python中也是如此。但是在Go中,将整数和字符串放在一起似乎很困难,或者至少我无法弄明白。一个数组是否能够像在Python和Ruby中一样在Go中获取整数和字符串?

红宝石:

a = [20, "tim"]
puts a

的Python:

a = [20, "tim"]
print(a)

转到:

?

1 个答案:

答案 0 :(得分:1)

因为Go是一种类型化的语言,要在Go中创建多个类型的切片,您需要指定多个类型可以满足的类型。要在Go中执行此操作,请创建空接口(interface{})的切片,如下所示:

a := []interface{}{20, "tim"}
fmt.Println(a)

这是有效的,因为空接口是一个没有方法的接口,所以所有类型都匹配它。

创建切片或混合类型数组通常不会在Go中完成,但如果需要,可以这样做。

您可以在此处阅读有关接口的更多信息: