【发布时间】:2015-09-29 17:40:03
【问题描述】:
我想编写一个程序,接收一个数组(字符串、整数或其他)并创建另一个相同类型的数组,该数组仅包含第一个元素。
例如:
对于字符串数组arr := []string("hello", "world")
我的输出是arr2 := []string(arr[0]);
我不能使用复制功能,因为要这样做,我必须为它创建(制作)一个新切片。而且在这种情况下,我仍然需要发现第一个数组是哪种类型(string、int、bool 等等......)
也许我可以使用reflect.TypeOf(),但我仍然不知道如何使用该信息来创建相同类型的切片或数组。
我不考虑为此使用条件。 例如:
if reflect.TypeOf(arr) == []int {
arr := []int(arr[0])
} else if reflect.TypeOf(arr) == []string
arr := []string(arr[0])
} ...
我很乐意在那里得到帮助。 提前致谢。
【问题讨论】:
标签: arrays data-structures go slice