为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
浮云间 2021-05-07 14:58:11
我尝试用go编写一个小型应用程序,该应用程序从标准输入中获取“ x”个整数,然后计算平均值并将其返回。到目前为止,我还没有:func main() {var elems, mean intsum := 0fmt.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];}............尝试对此进行编译时,出现以下错误消息:无效的数组绑定元素这是怎么了
查看完整描述

3 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

您应该使用切片而不是数组:


//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 {


查看完整回答
反对 回复 2021-05-10
  • 3 回答
  • 0 关注
  • 326 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信