回答

收藏

go中动态初始化数组大小

技术问答 技术问答 257 人阅读 | 0 人回复 | 2023-09-12

我尝试在 go从标准输入中编写一个小应用程序x计算平均值并返回整数。我只得到了这么远:
& M# r( Z4 I% ]' S8 j

    7 r) t- |, S& P
  • func main() {var elems,mean intsum := 0fmt.Print("Number of elements? ")fmt.Scan(&elems)var array = new([elems]int)for i := 0; i 当我试图编译它时,我收到了以下错误信息:) E# o& n9 K- D% w
  • 无效数组绑定元素
    . `: I8 {) k. N8 v1 A
  • 这里有什么问题?
    8 v; P4 |' Z# t! F2 _) j2 o0 s3 i9 U- r
  •                                                                8 z! h6 ^  a3 @" r. j
  •     解决方案:                                                               $ x2 N6 u9 F& s8 }
  •                                                                 切片而非数组:[code]//var array = new([elems]int) - no,arrays are not dynamicvar slice = make([]int,elems) // or slice := make([]int,elems)
    $ T1 o$ e  m- S( s% V
此外,您可能需要考虑回收范围:2 R# R! T$ Z6 O* W3 P4 z9 }
    // for i := 0; i < elems; i   { - correct but less idiomaticfor i,v := range slice {( U6 S4 w7 i" O. o
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则