gpt4 book ai didi

arrays - 在go中动态初始化数组大小

转载 作者:IT老高 更新时间:2023-10-28 12:58:44 26 4
gpt4 key购买 nike

我尝试在 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];
}............

尝试编译时,我收到以下错误消息:

invalid array bound elems

这里有什么问题?

最佳答案

你应该使用 slice 而不是数组:

//var array = new([elems]int) - no, arrays are not dynamic
var slice = make([]int,elems) // or slice := make([]int, elems)

参见“go slices usage and internals”。你也可以考虑using range为您的循环:

// for i := 0; i < elems; i++ { - correct but less idiomatic
for i, v := range slice {

关于arrays - 在go中动态初始化数组大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8539551/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com