返回介绍

零值

发布于 2024-10-12 12:51:55 字数 543 浏览 0 评论 0 收藏 0

当为变量分配内存空间时,不管是声明还是调用 new 或者使用字面值和 make 初始化,只要创建了一个新值变量都会有一个默认值。这样的元素和值会使用它类型的零值: false 是布尔值的零值,0 为数值类型零值,"" 为字符串零值,nil 为指针,函数,接口,切片,频道,字典。初始化会递归完成,所以结构体里的数组中的元素也都会有它自己的零值。

下面两个声明时相等的:

var i int
var i int = 0

请看下面的声明:

type T struct { i int; f float64; next *T }
t := new(T)
t.i == 0
t.f == 0.0
t.next == nil

这和下面的声明时同等效果的:

var t T

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文