登录
首页 >  Golang >  Go问答

使用文字值声明常量在 Golang 中的应用

来源:stackoverflow

时间:2024-03-11 22:45:25 259浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《使用文字值声明常量在 Golang 中的应用》,聊聊,我们一起来看看吧!

问题内容

我已经定义了一个带有类型的常量。我想用变量的值来引用常量。 (请参考下面的代码)。 一种方法是定义键到所需值的映射。还有其他方法可以做到这一点吗?

import (
    "fmt"
    "reflect"
)

type Code int

const (
    MY_CONST_KEY Code = 123
)

func main() {
    x := "MY_CONST_KEY"
    //Fetch Value of x as 123
}

正确答案


没有办法做到你所要求的。如果不传递常量的文字值,则无法将常量传递给反射包。

正如您正确提到的,您可以使用地图:

package main

import "fmt"

type Code int

var codes = map[string]Code{
    "MY_CONST_KEY":      123,
    "ANOTHER_CONST_KEY": 456,
}

func main() {
    x := codes["MY_CONST_KEY"]
    fmt.Println(x)
}

如果您确保地图未导出(codes 中的小写 c),那么它将仅在您的包内可用,因此您的包的使用者无法在运行时修改地图。

理论要掌握,实操不能落!以上关于《使用文字值声明常量在 Golang 中的应用》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>