在go语言中从值中获取常量名称代码示例

2023-06-01 00:00:00 示例 获取 常量

如何找出与一个值相关的常数名称,例如,如果一个常量值在编译时被固定为一个整数。

如何在运行时通过处理整数值找出相关的常数名称?

解决方法:

使用switch语句来返回常量名称。

ps:

这并不是一个有效的、可扩展的解决方案,但对于小规模的数据集来说,它应该是可行的。


示例代码:

 package main
 
 import (
         "fmt"
 )
 
 type wordInt int16
 
 const (
         HELLO = wordInt(1)
         WORLD = wordInt(2)
         HOW   = wordInt(3)
         ARE   = wordInt(4)
         YOU   = wordInt(5)
 )
 
 func (w wordInt) String() string {
         switch w {
         case 1:
                 return "HELLO"
         case 2:
                 return "WORLD"
         case 3:
                 return "HOW"
         case 4:
                 return "ARE"
         case 5:
                 return "YOU"
         }
         
         // else return
         return "NOT Defined"
 }
 
 func main() {
 
         fmt.Printf("与整数%d相关的常量名称是%s \n", 1, wordInt(1).String())
         
         //也可以不使用String()。
         fmt.Printf("与整数%d相关的常量名称是%s\n", 2, wordInt(2))
         fmt.Printf("与整数%d相关的常数名称是%s\n", 3, wordInt(3))
         fmt.Printf("与整数 %d 相关的常数名称是 %s \n", 5, wordInt(5))
         fmt.Printf("与整数 %d 相关的常数名称是 %s \n", 9, wordInt(9))
 }

输出:

与整数1相关的常量名称是HELLO
与整数2相关的常量名称是 WORLD
与整数3相关的常量名称是HOW
与整数5相关联的常数名称是YOU
与整数9相关的常数名称是NOT Defined

相关文章:

在go语言中如何通过名称获得结构字段和值代码示例

https://www.zongscan.com/demo333/96174.html

相关文章