我有以下 Go 代碼段。我有一片package mainimport "fmt"func main() { y := []int{0, 1, 1, 2, 3, 5, 8} return y}func toParseY(int y) { for i, v := range y { fmt.Println(i, v) }}我知道我必須將切片作為參數傳遞給 toParseY 函數,但是當我嘗試它時,我得到了這個錯誤(編譯器甚至沒有得到# command-line-arguments./ude.go:8:2: too many arguments to return have ([]int) want ()./ude.go:11:19: undefined: y./ude.go:12:20: undefined: y在 Go 中實現它的正確方法是什么?
1 回答

慕森王
TA貢獻1777條經驗 獲得超3個贊
這是更正后的代碼...
package main
import "fmt"
func main() {
y := []int{0, 1, 1, 2, 3, 5, 8}
toParseY(y)
}
func toParseY(y []int) {
for i, v := range y {
fmt.Println(i, v)
}
}
問題:
不要從 main 返回 y。相反,從 main 調用 toParseY()。
您需要將 toParseY 接受的數據類型修復為 int 切片,并更正聲明參數的順序。它應該是參數名稱,后跟數據類型:
toParseY(y []int)
輸出:
- 1 回答
- 0 關注
- 135 瀏覽
添加回答
舉報
0/150
提交
取消