回答

收藏

go中动态初始化数组大小

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

我尝试在 go从标准输入中编写一个小应用程序x计算平均值并返回整数。我只得到了这么远:
1 {+ G4 B. p+ w3 Y0 Z6 F
    5 L4 _* A$ f$ Y! K( `- G$ [
  • func main() {var elems,mean intsum := 0fmt.Print("Number of elements? ")fmt.Scan(&elems)var array = new([elems]int)for i := 0; i 当我试图编译它时,我收到了以下错误信息:
    * h# ~' \5 ^, k" s# s
  • 无效数组绑定元素! h) H& T/ C* R0 m, q; x" {
  • 这里有什么问题?
    : j/ T1 ?+ U- O0 u- i
  •                                                                
    ( {2 Y* D% Q! {$ p6 d0 G
  •     解决方案:                                                               
    1 N  Z) \/ O/ d
  •                                                                 切片而非数组:[code]//var array = new([elems]int) - no,arrays are not dynamicvar slice = make([]int,elems) // or slice := make([]int,elems)
    - L3 d, k4 z* f5 @5 r. q
此外,您可能需要考虑回收范围:+ U+ q1 q/ |  s- l
    // for i := 0; i < elems; i   { - correct but less idiomaticfor i,v := range slice {
    + c; h' V! F3 C6 i3 y7 P( M( o
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则