我尝试在 go 中编写一个小应用程序,它从标准输入中获取“x”个整数,计算平均值并将其返回。我只得到了这么远:
func main() { var elems, mean int sum := 0 fmt.Print("Number of elements? ") fmt.Scan(&elems) var array = new([elems]int) for i := 0; i < elems; i++ { fmt.Printf("%d . Number? ", i+1) fmt.Scan(&array[i]) sum += array[i]; }............
尝试编译它时,我收到以下错误消息:
无效的数组绑定元素
这里有什么问题?
您应该使用切片而不是数组:
//var array = new([elems]int) - no, arrays are not dynamic var slice = make([]int,elems) // or slice := make([]int, elems)
此外,您可能需要考虑为循环使用范围:
// for i := 0; i < elems; i++ { - correct but less idiomatic for i, v := range slice {