Go 中的枚举
数据库中使用了枚举 enum 来存储订单状态 orders.state,然后在 model/order.go 中一堆状态常量:
type Order struct {
// ...
State string
}
const (
OrderStatePending = "pending"
OrderStateLocked = "locked"
OrderStatePaid = "paid"
OrderStateRevoked = "revoked"
OrderStateDone = "done"
)
既然说到 Go 的枚举,肯定有人要说 iota 了,那么,,用 iota 来实现该功能试试: