回答

收藏

go中动态初始化数组大小

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

我尝试在 go从标准输入中编写一个小应用程序x计算平均值并返回整数。我只得到了这么远:
1 O8 r8 m+ l' x8 q: m
    ; A6 [! x- J" C
  • func main() {var elems,mean intsum := 0fmt.Print("Number of elements? ")fmt.Scan(&elems)var array = new([elems]int)for i := 0; i 当我试图编译它时,我收到了以下错误信息:- y- u* Q( z$ t! s/ U& u. q
  • 无效数组绑定元素
    # l. _  t& x, r9 e! @
  • 这里有什么问题?& J- e  k3 m5 s/ f+ r! K# T
  •                                                                
    ' o) g- X  n. {4 p& a
  •     解决方案:                                                               ! J, e9 V$ \; [4 H* {, b
  •                                                                 切片而非数组:[code]//var array = new([elems]int) - no,arrays are not dynamicvar slice = make([]int,elems) // or slice := make([]int,elems)0 ~% D0 H' _* C
此外,您可能需要考虑回收范围:; z2 D: O) |0 V* P& r+ t# O% W& }
    // for i := 0; i < elems; i   { - correct but less idiomaticfor i,v := range slice {
    6 s  T+ T$ s/ G1 H, d/ w
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则