问题内容 我是编程和 stackoverflow 的初学者。 我必须在 Go 中创建一个递归函数来添加数组的元素,如果数组的长度为 0,则返回 0。 func Suma(vector
我是编程和 stackoverflow 的初学者。
我必须在 Go 中创建一个递归函数来添加数组的元素,如果数组的长度为 0,则返回 0。
func Suma(vector []int) int {
n := len(vector)
if n == 0 {
return 0
} else {
return Suma(vector[n] + vector[n-1])
}
}
func main() {
fmt.Println("Hello, 世界")
vector := []int{1, 2, 3, 4, 5}
res := Suma(vector)
fmt.Println(res)
}
它给了我这个错误,但我不明白。
cannot use vector[n] + vector[n - 1] (value of type int) as []int value in argument to Suma
为什么会出现此错误以及如何修复它?
您看到的错误消息是因为您尝试将 int 值传递给 Suma 函数,该函数需要一个 int 切片。
package main
import "fmt"
func Suma(vector []int) int {
n := len(vector)
if n == 0 {
return 0
} else {
// You should call Suma recursively with a slice of the vector, excluding the last element.
// Also, you need to add the current element (vector[n-1]) to the sum.
return vector[n-1] + Suma(vector[:n-1])
}
}
func main() {
fmt.Println("Hello, 世界")
vector := []int{1, 2, 3, 4, 5}
res := Suma(vector)
fmt.Println(res)
}
以上就是Go错误:int类型的值作为int值的详细内容,更多请关注编程网其它相关文章!
--结束END--
本文标题: Go错误:int类型的值作为int值
本文链接: https://lsjlt.com/news/561377.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0