我正在学习 Go
编程并尝试测试以下 average
函数:
func average(xs []float64) float64 {
total := 0.0
for _, v := range xs {
total += v
}
return total / float64(len(xs))
}
我尝试通过以下方式生成一段随机 float :
var xs []float64
for n := 0; n < 10; n++ {
xs[n] = rand.Float64()
}
但是,我得到了
panic: runtime error: index out of range
问题:
- 如何在Golang中生成一段随机数?
- slice 字面量中是否允许表达式或函数调用,如
xs := []float64 { for ... }
?
最佳答案
您生成随机数的方法很好,但是 xs
是空的,Go 不会自动扩展 slice 。你可以使用 append ,但是由于您事先知道大小,因此最有效的方法是替换
var xs []float64
与
xs := make([]float64, 10)
最初会给出正确的尺寸。
关于go - 如何在 Go 中分配一片 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33632365/