所以我正在尝试编译go中的forllowing代码,这是我几个小时前刚刚提到的
package main
import "fmt"
func main() {
a := [...]float64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
sum := avg(a)
fmt.Println(sum)
}
func avg(arr []float64) (sum float64) {
for _, v := range arr {
sum += v
}
sum = sum / float64(len(arr))
return
}
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,说我无法传递10元素长数组,因为函数是用[] float64数组定义的.有没有办法解决这个问题,还是我错过了一些明显的东西?
您定义a为长度数组,并且avg您期望切片float64
如果你不需要固定长度定义a为切片:
a := []float64{...}
Run Code Online (Sandbox Code Playgroud)
或者你可以转换array为切片:
sum := avg(a[:])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |