中級 › appendの戻り値を再代入し忘れると要素が反映されない › パターン4
appendの戻り値を再代入し忘れると要素が反映されない
appendは新しいスライスを返す関数で、元のスライス変数を直接書き換えません。
1 package main 2 3 import "fmt" 4 5 func addOne(nums []int) []int { 6 _______________________ ^ 7 return nums 8 } 9 10 func main() { 11 nums := []int{7, 8, 9, 10} 12 result := addOne(nums) 13 fmt.Println(result) 14 }
出力: [7 8 9 10]
空欄を埋めて実行を通す
append単体の呼び出しは戻り値を使わない式文としては許されず、_に代入するなどして明示的に捨てる必要があります。その結果、変更はnumsに反映されないまま捨てられてしまいます。
次の問題