【发布时间】:2012-12-23 13:29:09
【问题描述】:
我目前正在通过rosalind problems(基本上是一堆与生物信息学相关的代码katas)来学习Go。
我目前正在用一种类型表示一条 DNA 链:
type DNAStrand struct {
dna byte[]
}
我最初的原因是封装字节切片,这样我就知道它只包含代表核苷酸的字节:'A', 'C', 'G', 'T'。我意识到这显然没有保证,因为我可以简单地这样做:
DNAStrand{[]byte("foo bar")}
并且不再有任何保证我的 dna 链包含一个字节数组,其中仅包含这四个字节中的元素。
由于我的结构只包含一个字节数组,这样做是否更好/更符合思想:
type DNAStrand []byte
还是让类型包含 dna 链更好?对于何时使用这两种方法中的任何一种,是否有任何经验法则?
【问题讨论】: