我正在尝试创建地图片段。尽管代码可以很好地编译,但在下面出现运行时错误:
mapassign1: runtime·panicstring("assignment to entry in nil map");
我尝试制作一个Map数组,每个Map包含两个索引,即“ Id”和“ Investor”。我的代码如下所示:
for _, row := range rows {
var inv_ids []string
var inv_names []string
//create arrays of data from MySQLs GROUP_CONCAT function
inv_ids = strings.Split(row.Str(10), ",")
inv_names = strings.Split(row.Str(11), ",")
length := len(inv_ids);
invs := make([]map[string]string, length)
//build map of ids => names
for i := 0; i < length; i++ {
invs[i] = make(map[string]string)
invs[i]["Id"] = inv_ids[i]
invs[i]["Investor"] = inv_names[i]
}//for
//build Message and return
msg := InfoMessage{row.Int(0), row.Int(1), row.Str(2), row.Int(3), row.Str(4), row.Float(5), row.Float(6), row.Str(7), row.Str(8), row.Int(9), invs}
return(msg)
} //for
我最初认为类似下面的内容会起作用,但是也无法解决问题。有任何想法吗?
invs := make([]make(map[string]string), length)
您正在试图建立一个 切片 地图; 考虑以下示例:
http://play.golang.org/p/gChfTgtmN-
package main
import "fmt"
func main() {
a := make([]map[string]int, 100)
for i := 0; i < 100; i++ {
a[i] = map[string]int{"id": i, "investor": i}
}
fmt.Println(a)
}
您可以重写这些行:
invs[i] = make(map[string]string)
invs[i]["Id"] = inv_ids[i]
invs[i]["Investor"] = inv_names[i]
如:
invs[i] = map[string]string{"Id": inv_ids[i], "Investor": inv_names[i]}
这称为 复合文字 。
现在,在一个更加惯用的程序中,您很可能想使用a struct
代表投资者:
http://play.golang.org/p/vppK6y-c8g
package main
import (
"fmt"
"strconv"
)
type Investor struct {
Id int
Name string
}
func main() {
a := make([]Investor, 100)
for i := 0; i < 100; i++ {
a[i] = Investor{Id: i, Name: "John" + strconv.Itoa(i)}
fmt.Printf("%#v\n", a[i])
}
}
问题内容: 我正在尝试生成地图,然后将其转换为yaml文件,如下所示: 我想我在创建地图时缺少一些重要的东西。我的代码如下。 它给出了以下错误: 问题答案: 您尚未初始化内部地图。在for循环之前,您可以添加然后分配名称。
我正在尝试生成一个地图,然后将其转换为如下的yaml文件: 我想我在创建地图时错过了一些重要的东西。我的代码如下。 它给出以下错误:
本文向大家介绍在运行SAP ABAP程序时未分配错误,包括了在运行SAP ABAP程序时未分配错误的使用技巧和注意事项,需要的朋友参考一下 错误在字段符号中。将来,如果遇到此类问题,您可以浏览ST22创建的日志。这将帮助您详细了解问题及其根本原因。错误的原因是该字段符号未初始化,您正在尝试使用它。您应该养成使用前检查内容的习惯。 检查<field_Symbol>已分配
这是一个类中的函数,允许你双击和单击手势。它在Swift 2.3中运行良好,但在转换到Swift 3后,它抛出了一些错误。我怎么也想不明白。我评论了它们发生的地方。
问题内容: 我正在使用ModelMapper Framework(http://modelmapper.org/)映射Java中的对象。在映射包含抽象类的具体类(DTO到实体)时遇到了一个问题。 示例:任务具有AbstractItems列表。 AbstractItems是问题和条件。 映射方法: ModelMapper尝试创建一个AbstractItem的新实例,该实例将引发异常。有没有办法在运行
我正在使用ModelMapper框架(http://modelmapper.org/)用于在Java中映射对象。我在映射包含抽象类的具体类(DTO到Entite)时遇到了一个问题。 示例:任务有一个抽象项列表 抽象项目是问题和标准。 制图方法: ModelMapper尝试创建AbstractItem的新实例,该实例引发异常。有没有办法在运行时映射抽象类<喜欢问题吗-