Batat101 0
Мастер
(2137),
на голосовании
1 неделю назад
Что я делаю не так? Мне нужно объединить два массива и вывести их как один.
код:
package main
func Join(nums1, nums2 []int) []int { a := make([]int, len(nums1) + len(nums2)) a = append(a, nums1) a = append(a, nums2) return a }
ошибка: # command-line-arguments [command-line-arguments.test] ./source.go:5:19: cannot use nums1 (variable of type []int) as int value in argument to append ./source.go:6:19: cannot use nums2 (variable of type []int) as int value in argument to append make: *** [Makefile:5: run] Error 1
ошибку-то я понимаю, да вот только как её исправить?
Вот исправленный вариант. Append принимает n аргуменов, слайс не подходит. Надо после слайса ставить ... Также, чтобы не было ведущих нулей в функции make надо указать длину слайса в 0.
func Join(nums1, nums2 []int) []int { a := make([]int, 0, len(nums1) + len(nums2)) a = append(a, nums1...) a = append(a, nums2...) return a
код:
package main
func Join(nums1, nums2 []int) []int {
a := make([]int, len(nums1) + len(nums2))
a = append(a, nums1)
a = append(a, nums2)
return a
}
ошибка:
# command-line-arguments [command-line-arguments.test]
./source.go:5:19: cannot use nums1 (variable of type []int) as int value in argument to append
./source.go:6:19: cannot use nums2 (variable of type []int) as int value in argument to append
make: *** [Makefile:5: run] Error 1
ошибку-то я понимаю, да вот только как её исправить?