有人能解释一下这行代码是怎么回事吗?

type Fate int

const (
Decided   Fate = iota + 1
Pending        // not yet decided.
Forgotten      // decided but forgotten.
)

我不明白决定、等待和遗忘应该是什么.

推荐答案

const块内,每个连续的IOTA表示递增的整数常量.如果不提供用于初始化常量的表达式,则最后一个表达式将隐式重复,因此您的代码等同于:

const {
Decided   Fate = iota + 1 // 1
Pending   Fate = iota + 1 // 2
Forgotten Fate = iota + 1 // 3
)

https://go.dev/ref/spec#Iota

Go相关问答推荐

如何将GoFr筛选器用于查询参数?

如何配置vscode以在Go中显示不必要的(过度指定的)泛型?

如何模拟 stripe 需要 webhooks 的捕获事件?

死锁 - 所有 goroutine 都处于睡眠状态(即使使用等待组)

Go time.Parse 无效的 ISO 日期

如何用mpb创建两行进度条?

如何解决我的 Go 聊天应用程序中 cookie 未在本地主机端口之间传输的问题?

自定义 Fyne 自适应网格布局

使用 Go 解组 SOAP 消息

如何在 Go 中编写示例测试?

Go:如何在将 float64 转换为 float32 时判断精度损失

也许在 golang 中包(字符串和字符串类型不匹配)

Go 信号处理程序不处理终端窗口关闭

为什么 `append(x[:0:0], x...)` 将切片复制到 Go 中的新后备数组中?

如何使用 Status 字段创建 Kubernetes 对象?

此代码如何生成内存对齐切片?

panic :拨号 tcp:在 172.22.64.1:53 上查找 bookstoreDB:没有这样的主机

Go:如何创建一个可以提供配置文件中描述的 url 的服务器

为什么 template.ParseFiles() 没有检测到这个错误?

如果在调用 http.Get(url) 时发生错误,我们是否需要关闭响应对象?