英文:
Go programming iota similarity with enum in c++
问题
抱歉,我的Go语言知识非常有限。
我有一个这样的定义:
type ErrorVal int
const (
LEV_ERROR ErrorVal = iota
LEV_WARNING
LEV_DEBUG
)
在我的Go示例代码中,我想为ErrorVal
类型定义一个值。
我想做的类似于C语言中的枚举值定义:
enum ErrorVal myVal = LEV_ERROR;
在Go语言中,你可以通过以下方式实现类似的效果:
英文:
Pardon me my knowledge in Go is very limited.
I have a definition like this
type ErrorVal int
const (
LEV_ERROR ErrorVal = iota
LEV_WARNING
LEV_DEBUG
)
Later in my Go sample code I want to define a value for a type of ErrorVal
.
What I am trying to do is in C we can define enum value like this
enum ErrorVal myVal = LEV_ERROR;
How can I do something similar in Go?
答案1
得分: 3
请使用以下代码片段:
myval := LEV_ERROR
或者
var myval ErrorVal = LEV_ERROR
这是要翻译的内容。
英文:
Use the following sinppet:
myval := LEV_ERROR
or
var myval ErrorVal = LEV_ERROR
答案2
得分: 0
你可以将一个常量赋值给一个变量,并且得到与C语言的enum
相同的结果:
type ErrorVal int
const (
LEV_ERROR ErrorVal = iota
LEV_WARNING
LEV_DEBUG
)
func main() {
myval := LEV_ERROR
fmt.Println(myval)
}
在Go语言中,我们可以使用iota
来模拟C语言的enum
或#define
常量。
我们可以使用
iota
来模拟C语言的enum
或#define
常量。
英文:
You can assign a constant to a variable and get the same result as C's enum
:
type ErrorVal int
const (
LEV_ERROR ErrorVal = iota
LEV_WARNING
LEV_DEBUG
)
func main() {
myval := LEV_ERROR
fmt.Println(myval)
}
> We can use iota to simulate C's enum or #define constant.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论