Я хотел бы написать программу, которая получит массив (из строки, int или что-то еще) и создать другой массив того же типа, содержащий только первый элемент.Воспроизведение массива того же типа
Например:
для массива строк arr := []string("hello", "world")
мой выход будет arr2 := []string(arr[0]);
Я не могу использовать функцию копирования, так как сделать это, я бы создать (сделать) новый кусочек для него. И в этом случае мне все еще нужно выяснить, какой тип первого массива (строка, int, bool и т. Д.)
Возможно, я мог бы использовать reflect.TypeOf()
, но я все равно не знаю, как использовать этот информацию для создания одного и того же типа среза или массива.
Я не собираюсь использовать условные обозначения для этого. Например:
if reflect.TypeOf(arr) == []int {
arr := []int(arr[0])
} else if reflect.TypeOf(arr) == []string
arr := []string(arr[0])
} ...
Я был бы рад получить помощь там. Спасибо заранее.
Спасибо. Я попытался использовать s2: = s1 [: 1], но на Go Playground, и для этого я получил ошибку. Но я попробовал сейчас на своем компьютере, и да, это решение работает просто отлично! Еще раз спасибо. –