Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача на языке программирования Go

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

ошибку-то я понимаю, да вот только как её исправить?
Голосование за лучший ответ
Макар Загайнов Ученик (181) 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

}
Batat101 0Мастер (2137) 1 месяц назад
Спасибо! Простите, что тогда не ответил, занят был.
Похожие вопросы