doubi5520 2017-02-12 04:16
浏览 552
已采纳

GoLang打印数组中值的出现次数

The following is my code where I need to Print the number of occurances of each values in an array.

package main

import "fmt"

func main(){
    //Initialize an array 
    inputArray := []int{10,20,30,56,67,90,10,20}
    printUniqueValue(inputArray)
}

func printUniqueValue( arr []int){
    //Create a   dictionary of values for each element
    var  dict map[int]int 
    count := 0
    for _ , num :=  range arr {
        dict[num] = count+1
    }
    fmt.Println(dict)
}

But I couldn't construct the dictionary as I wish like , dict[10] should have value 2. Sample Expected Output :

dict[10] = 2
dict[20] = 2
dict[30] = 1  

Error I got: panic: assignment to entry in nil map

  • 写回答

2条回答 默认 最新

  • duanjian4150 2017-02-12 04:24
    关注

    You need to initialize dict with a non-nil map; one way would be with var dict = make(map[int]int).

    Once you fix that, you will also need to deal with the logic error in dict[num] = count+1, where the count of that value is set to 1 (count is always 0) instead of one more than the previous value.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵