登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-23 10:45:29 159浏览 收藏

积累知识,胜过积蓄金银!毕竟在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。要解决这个问题,您需要对其进行初始化。

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

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

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

playground

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

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>