我需要创建许多uint32标签,这些标签是ASCII字母的映射。例如,标签“abcd”被编码为0x61626364其中每个字节对应于字母的ASCII代码。
一个简单的解决方案是像这样定义标签值
type Tag uint32
const Tag_abcd = Tag(0x61626364)
但这很容易出错。
一个不太容易出错的解决方案是使用接收字母作为参数的函数来定义标记值。
const Tag_abcd = foo("abcd")
或者像这样,因为可以用C中的宏轻松完成
const Tag_abcd = bar('a','b','c','d')
但这需要支持在编译时评估的函数。据我所知,Go是不可能的。我说的对吗?能有别的办法吗?
白衣染霜花
慕盖茨4494581
开心每一天1111
相关分类