当前位置: 首页 > 面试题库 >

运行时错误:分配给nil映射中的条目

乌甫
2023-03-14
问题内容

我正在尝试生成地图,然后将其转换为yaml文件,如下所示:

uid :
      kasi:
        cn: Chaithra
        street: fkmp
      nandan:
        cn: Chaithra
        street: fkmp
      remya:
        cn: Chaithra
        street: fkmp

我想我在创建地图时缺少一些重要的东西。我的代码如下。

package main

import (
    "fmt"
    "gopkg.in/yaml.v2"
)

type T struct {
    cn     string
    street string
}

func main() {
    names := []string{"kasi", "remya", "nandan"}

    m := make(map[string]map[string]T, len(names))
    for _, name := range names {

        //t := T{cn: "Chaithra", street: "fkmp"}

        m["uid"][name] = T{cn: "Chaithra", street: "fkmp"}

    }
    fmt.Println(m)

    y, _ := yaml.Marshal(&m)

    fmt.Println(string(y))
    //fmt.Println(m, names)
}

它给出了以下错误:

panic: runtime error: assignment to entry in nil map

问题答案:

您尚未初始化内部地图。在for循环之前,您可以添加m["uid"] = make(map[string]T)然后分配名称。



 类似资料:
  • 问题内容: 我正在尝试创建地图片段。尽管代码可以很好地编译,但在下面出现运行时错误: 我尝试制作一个Map数组,每个Map包含两个索引,即“ Id”和“ Investor”。我的代码如下所示: 我最初认为类似下面的内容会起作用,但是也无法解决问题。有任何想法吗? 问题答案: 您正在试图建立一个 切片 地图; 考虑以下示例: http://play.golang.org/p/gChfTgtmN- 您

  • 我正在尝试生成一个地图,然后将其转换为如下的yaml文件: 我想我在创建地图时错过了一些重要的东西。我的代码如下。 它给出以下错误:

  • 问题内容: 我有这样的数据结构: 是另一个结构。 然后,当我尝试在Users切片中添加一些新值时,如下所示: 我不断收到此错误: 还尝试在这里https://github.com/golang/go/issues/3117变通方法,像这样: 但是没有运气,仍然是完全相同的错误。 并且还尝试使用指针声明地图,因此:,仍然没有运气。 问题答案: 首先,对于这个问题,本文中的解决方案为什么在将值设置为结

  • 这是一个类中的函数,允许你双击和单击手势。它在Swift 2.3中运行良好,但在转换到Swift 3后,它抛出了一些错误。我怎么也想不明白。我评论了它们发生的地方。

  • 我有两个需要映射的继承层次结构。一个层次结构是国内的,另一个是野生的。我有抽象的Domestic动物和具体的DomesticCat和DomesticDog扩展它。在第二个层次结构中,我有抽象的Wild动物和具体的WildCat和WildDog扩展它。我还有另外两个类,分别是WildAnimalFeeder具有Wild动物的成员对象和DomesticAnimalFeeder具有DomesticAni

  • 本文向大家介绍在运行SAP ABAP程序时未分配错误,包括了在运行SAP ABAP程序时未分配错误的使用技巧和注意事项,需要的朋友参考一下 错误在字段符号中。将来,如果遇到此类问题,您可以浏览ST22创建的日志。这将帮助您详细了解问题及其根本原因。错误的原因是该字段符号未初始化,您正在尝试使用它。您应该养成使用前检查内容的习惯。 检查<field_Symbol>已分配