首页 > 其他分享 >【go】go错误,panic:assignment to entry in nil map 问题记录

【go】go错误,panic:assignment to entry in nil map 问题记录

时间:2024-03-06 17:26:14浏览次数:37  
标签:map nil data res go panic

一个go的map相关的panic错误

背景:在获取多个数据时,从数据库取到多条数据,需要把多条数据返回给前端,定义一个res返回值,为map[string]any类型,在赋值后运行发生 panic:assignment to entry in nil map

原因:在声明map类型的变量后,直接进行赋值操作,此时未初始化该变量,所以它的值是nil, 不指向任何内存地址,直接复制panic
解决:需要通过make方法分配确定的内存地址。

// 错误代码
var resData map[string]any
res["data"] = data
res["status"] = 0
// 正确代码
resData := make(map[string]any)
res["data"] = data
res["status"] = 0

标签:map,nil,data,res,go,panic
From: https://www.cnblogs.com/alisleepy/p/18057046

相关文章

  • Golang(Go语言)字符串转时间格式封装以及填坑
    先看代码:packagemainimport( "fmt" "time")funcmain(){ timeStr:="2021-05-2100:00:00" utcTime,_:=time.Parse(time.DateTime,timeStr) fmt.Println(utcTime)fmt.Println(utcTime.Local())}执行结果:从这里可以看出,字符串转换为时......
  • Mac电脑彻底删除 JetBrains 、Idea、pycharm 、webstrom、goland
    首先删除app删除缓存新版本cdUsers/xxx/Library/rm-rfLogs/JetBrains/IntelliJIdea202x.xrm-rfPreferences/com.jetbrains.intellij.plistrm-rfPreferences/com.jetbrains.jbr.java.plistrm-rfPreferences/jetbrains.jetprofile.asset.plistrm-rfApplicat......
  • 应用监控 eBPF 版:实现 Golang 微服务的无侵入应用监控
    作者:古琦在现代软件架构中,微服务已成为构建可扩展和灵活应用程序的流行方式。每个微服务负责应用程序的一部分功能,它们共同工作以提供完整的服务。由于微服务架构的分散特性,监控变得至关重要,有效的微服务监控是确保高可用性、可靠性和服务质量的关键组成部分,它支撑了整个系统的健......
  • Dockerfile 部署uwsgi+nginx+django
    背景最近在和组内小伙伴一起写接口测试平台后端,使用的是drf框架,目前已经完成部分工作。在和前端联调试另一个小伙伴使用uwsgi部署起来了,我感觉这样部署很low,因为之前有了解过docker所以想着这一次彻底把docker给学会吧,于是就有了这篇文章。首先先看一下我的目录结构i......
  • GORM many2many、many2one、one2many关联表的操作
    一、简单介绍:当我们设计数据库时,经常会遇到实体之间的关系。这些关系通常可以分为三种类型:many-to-many(多对多)、many-to-one(多对一)和one-to-many(一对多)。Many-to-Many(多对多):意义:多对多关系表示一个实体可以与多个其他实体相关联,同时这些实体也可以与多个该实体相关......
  • JPEG algorithm
    目录简介简介JPEG算法首先将RGB源图像转换为YCbCr色彩空间(一个亮度分量(Y)和两个色度分量(Cb和Cr))(RGB图像模式与YCbCr彩色空间的关系见上一篇文章)大多数JPEG图像采用YCbCr4:2:0格式,其中Y保持相同的分辨率,而Cb和Cr分量被下采样为其原始分辨率的1/4接下来,将每个分量划......
  • Google multitask模型SNR
    背景MMoE模型从一定程度上解决了多个目标(任务)在训练过程中的相互耦合的问题,即使用门控概念(gatenetwork)降低了因为share-layer部分带来的“特征耦合”。但其实这是不够的,因为在每一个expert内部,与其他的expert不存在联系,这导致每个expert的表达能力不是“那么强”。因此google提......
  • 2024-03-06:用go语言,每一种货币都给定面值val[i],和拥有的数量cnt[i], 想知道目前拥有的
    2024-03-06:用go语言,每一种货币都给定面值val[i],和拥有的数量cnt[i],想知道目前拥有的货币,在钱数为1、2、3...m时,能找零成功的钱数有多少?也就是说当钱数的范围是1~m,返回这个范围上有多少可以找零成功的钱数。比如只有3元的货币,数量是5张,m=10。那么在1~10范围上,只有钱数是3、6......
  • golang标准库之 fmt
    目录fmt库1.获取输入(1)fmt.Scan(常用)(2)fmt.Scanln(常用)(3)fmt.Scanf2.print、println、printf输出3.Sprint(了解即可)4.Errorf(了解即可)5.格式化占位符(1)通用占位符(2)布尔型占位符(3)整型占位符(4)浮点数与复数占位符(5)字符串和[]byte占位符(6)指针占位符(7)宽度标识符(8)其他fmt库fmt包实现了......
  • golang标准库之 flag、strconv
    目录一、flag库1.flag的简单替代2.flag的参数类型3.flag参数的定义(1)flag.Type()(2)flag.TypeVar()4.flag解析命令行参数5.flag其他方法二、strconv库1.string转换为int类型2.int转换为string类型3.Parse系列函数(1)ParseBool()(2)ParseInt()(3)ParseUnit()(4)ParseFloat()(5)示例4.Fo......