Ваша функция никогда не присваивает значение result
.
func input_to_list() []int {
/* ... */
var result []int // Create empty `result` slice
if user_input == "\n" {
return result // Return empty result slice
}
return append(result, input_to_list()...) // Combine two empty slices, and return the (still) empty slice
}
Давайте пройдем по шагам:
- Вы создаете пустой срез с именем
result
- Если
user_input
пусто, вы немедленно возвращаете результат. - Если
user_input
не пусто, вы вызываете input_to_list()
рекурсивно и добавляете его (пустой) результат к вашему пустому результату, а затем возвращаете это (все еще) пустой результат.
Чтобы получить желаемое поведение, вы должны что-то делать (кроме проверки пустоты) с помощью user_input
. Возможно, что-то связано с strconv.Atoi
или подобным, затем добавьте это к result
.