我试图表示一个简化的染色体,它由N个碱基组成,每个碱基只能是{a,C,T,G}
中的一个。
我想用枚举形式化约束,但我想知道在Go中模拟枚举的最惯用的方式是什么。
引用语言规范:IOTA
在常量声明中,预声明的标识符iota表示连续的非类型化整数常量。每当源中出现保留字const并在每次constspec之后递增时,它就会复位为0。它可以用来构造一组相关常数:
const ( // iota is reset to 0
c0 = iota // c0 == 0
c1 = iota // c1 == 1
c2 = iota // c2 == 2
)
const (
a = 1 << iota // a == 1 (iota has been reset)
b = 1 << iota // b == 2
c = 1 << iota // c == 4
)
const (
u = iota * 42 // u == 0 (untyped integer constant)
v float64 = iota * 42 // v == 42.0 (float64 constant)
w = iota * 42 // w == 84 (untyped integer constant)
)
const x = iota // x == 0 (iota has been reset)
const y = iota // y == 0 (iota has been reset)
在ExpressionList中,每个iota的值是相同的,因为它只在每个ConstSpec之后递增:
const (
bit0, mask0 = 1 << iota, 1<<iota - 1 // bit0 == 1, mask0 == 0
bit1, mask1 // bit1 == 2, mask1 == 1
_, _ // skips iota == 2
bit3, mask3 // bit3 == 8, mask3 == 7
)
const (
A = iota
C
T
G
)
type Base int
const (
A Base = iota
C
T
G
)
问题内容: 我试图代表一个简化的染色体,该染色体由N个碱基组成,每个碱基只能是的一个。 我想用一个枚举形式化约束,但是我想知道在Go语言中最惯用的枚举方式是什么。 问题答案: 引用语言规范:Iota 在常量声明中,预声明的标识符iota表示连续的无类型整数常量。每当保留字const出现在源中时,它将重置为0,并在每个ConstSpec之后递增。它可以用来构造一组相关的常量: 在Expression
如果我有枚举: 什么是更自然的方式去得到它的字符串?
问题内容: 因此,我对Java枚举中是否可以包含函数感到困惑。我正在制作一个简单的html编辑器,并希望使用枚举来表示html标签,是的,我知道这不是解决问题的最佳方法,而是我小组决定实现它的方法。 所以我一直在尝试做这样的事情,但是当我试图称其为静态方法时,我想我想知道这是否正确,或者是否有更好的方法来实现它而不是公开成为 问题答案: 是的,Java枚举可以具有功能。 http://docs.o
问题内容: 以下哪项将被认为是更好/更清晰/更快/更多的“ Pythonic”?我不在乎列表的内容,只关心它的持续时间。 要么 如果有什么不同,该函数也会利用。 问题答案: 一些快速的计时运行似乎使第二个选项略有优势: 只是为了好玩而已(Python v2.7.2) 我希望 首先 使用 可读代码 ,然后使用(如果可用)(例如,Python 3.x之前的版本),然后使用和。
问题内容: 所以,我看着这个“枚举”类型,并且它种好像一个华而不实的 数组 / / 给我。到底有什么用? 问题答案: 枚举是一种固定数量的常量,至少可以用于两件事 不变 这比创建一堆整数常量要好得多。 创建一个单例 您可以使用枚举来做一些有趣的事情,请看这里 也请看官方文档
具有以下定义 是否有一种方法可以正确执行比较以使用标准等式: