我寫了下面的代碼。但我不能編譯它。這裏是我的代碼:Go中的`slice`和`append`的問題
package main
import "fmt"
func main() {
tmp := make([]int, 10)
for i := 0; i < 10; i++ {
tmp[i] = i
}
res := mapx(foo, tmp)
fmt.Printf("%v\n", res)
}
func foo(a int) int {
return a + 10
}
func mapx(functionx func(int) int, list []int) (res []int) {
res = make([]int, 10)
for _, i := range(list) {
append(res, functionx(i))
}
return
}
同時,錯誤信息也很混亂: prog.go:21: append(res, functionx(i)) not used
但是,如果我有res = append(res, functionx(i))
替換append(res, functionx(i))
(21號線),它工作得很好。有誰能夠幫助我?
謝謝!