程序开发 · 2023年8月2日

如何将切片和数组组合成地图

当前位置: > > > > 如何将切片和数组组合成地图

来源:stackoverflow
2024-04-23 10:45:29
0浏览
收藏

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《如何将切片和数组组合成地图》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我正在尝试在 go 中创建莫尔斯电码映射。我该怎么做呢?如果这样更容易的话,我还可以将一个切片转换为数组。

   alphabet := []string{}
    for i := 'A'; i <= 'Z'; i++ {
        alphabet = append(alphabet, string(i))
    }
    fmt.Println(alphabet)
    
    morseSlice := [26]string{".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."}
    
    // convert to map that maps letters to morse
    var morseDict map[string]string
    
    for i := 0; i > len(morseSlice); i++ {
        morseDict[alphabet[i]] = morseSlice[i]
    }
    
    fmt.Println(morseDict)

但我的地图是空的。我做错了什么?

解决方案

您的代码将向 nil map 中的条目抛出错误 assignment。要解决这个问题,您需要对其进行初始化。</p>

elementmap := make(map[string]string) //initialize

<p>并且您的条件应更改为 less 比 或者您可以使用 range

for i, ele := range alphabet {
  elementMap[ele] = morseSlice[i]
}

好了,本文到此结束,带大家了解了《如何将切片和数组组合成地图》,希望本文对你有所帮助!关注公众号,给大家分享更多Golang知识!