我们一般使用枚举来表示状态。
例如,在 python 中:我们做
class QueueState(Enum):
Enqueued = 1
Processing = 2
Processed = 3
Dequeued = 4
我们可以使用QueueState.Enqueued等来访问它们。其他语言中也存在同样的行为,例如 Java、C# 等。我的意思是这些状态有点绑定在 中QueueState。
但是当涉及到在 go 中声明状态时,我们使用 const 和 iota,例如:
type QueueState int
const (
Enqueued QueueState = iota
Processing
Processed
Dequeued
)
我发现这些状态(入队、处理等)与 type 没有绑定QueueState。
要访问它们,我只需将它们用作常量变量。
例如:
fmt.Println(Enqueued) // prints 0
有没有办法可以将这些状态绑定到类型中并将它们视为枚举,就像我们在其他编程语言中所做的那样?例如:我想像这样使用它们QueueState.Enqueued
白猪掌柜的
相关分类