我的分数是int/string/bool/等等.值存储在AN interface{}中,并希望确定它是否未初始化,这意味着它的值为

  • 0
  • ""
  • false
  • nil

我怎么判断这个?

推荐答案

Go 1.13(2019年第三季度)应简化该检测流程:

新的Value.IsZero()方法报告值是否为其类型的零值.

它在src/reflect/value.go中实现,从commit c40bffdCL 171337,解析issue 7501

参见playground example(只要支持Go 1.13)

Go相关问答推荐

golang 的持久隐蔽服务

在GO中使用泛型类型 struct 实现接口方法

如何解析Go-Gin多部分请求中的 struct 切片

";无效的复制因子;融合Kafka Go客户端

在 Windows 11 上运行 go mod tidy 时的 gitlab 权限问题

Golang prometheus:有没有办法衡量出站请求的指标?

用于提取 <*n 的正则表达式(其中 n 是一个数字)

Golang crypto/rand 线程安全吗?

如何判断范围内的字段?

具有嵌套重复的正则表达式

不能使用 mockDB(*MockDB 类型的变量)作为 struct 文字中的 *gorm.DB 值

如何使用 Docker 引擎 SDK 和 Golang 运行 docker 挂载卷

Go:从 ssl 证书中获取 'subject/unstructeredName' 的值

Dockerfile 问题 - 为什么找不到二进制 dlv - 没有这样的文件或目录

如何将一片十六进制字节转换为整数

为什么此代码在运行命令 error="exec: not started" 时出现错误?

切片到数组指针的转换

使用反射在 struct 内迭代切片 struct

Go:用于 XML 解码的嵌套 struct 中的提升字段

实现接口的指针的泛型类型是什么?