go - 检查struct中的int字段是否为nil?

标签 go struct error-handling

我有这段代码,我试图在将它传递到比较结构函数之前检查point.x,point.y,size.width,size.height(如果有nil则返回错误)是否为nil。无论尝试哪种方式,我都会不断遇到错误,并且我不禁以为自己已经完全考虑过了。

最佳答案

您无法检查nil,因为在Go中int不可能为nil。如果未显式初始化,则其值为0。
您对现在已删除的注释表示担忧,因为它会因此导致运行时错误。您不会,但是您可能没有预期的行为。
如果0不是您的域的有效值,则只需检查0。
否则,如果您想使事情更明确,则可以使其成为某人只能通过调用您编写的函数并仅通过getter公开公开值(使值不可变)来初始化值。

关于go - 检查struct中的int字段是否为nil?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64565612/

相关文章:

web-applications - 内部站点搜索

winapi - Go 调度程序是否还管理在运行时创建的非 Go 线程?

google-app-engine - Google App Engine 下载数据验证错误

c - 在 c 中的结构数组中获取空​​值,释放不当

javascript - 使用javascript捕获Safari抛出的错误

google-app-engine - Go 中的 Google App Engine 数据存储分片

c - 分配给结构字段时无符号短更改值

C 如何在使用 struct* = struct 时解析不兼容指针类型的赋值

bash - Vps无法登录

shell - Shell脚本执行成功但输出有错误,如何确定错误并退出主脚本?