我目前正在通过处理rosalind问题(基本上是一堆与生物信息学相关的代码katas)来学习Go 。
我目前用一种类型代表一条DNA链:
type DNAStrand struct {
dna byte[]
}
我最初的原因是封装字节片,所以我知道它只包含代表核苷酸的字节:'A', 'C', 'G', 'T'
。我意识到这显然没有被保证,因为我可以这样做:
DNAStrand{[]byte("foo bar")}
并且不再保证我的dna链包含一个字节数组,其中只有这四个字节中的元素。
由于我的结构仅包含一个字节数组,因此这样做是更好/更理想的方法:
type DNAStrand []byte
还是让该类型包含dna链更好?对于何时使用两种方法中的任何一种,是否有任何经验法则?
具有零字段的结构很方便。具有许多领域的结构更加方便。仅具有一个字段的结构有点特殊,即使在“野外”经常看到它们,我也想不出在哪里使用它们的合理“好”案例。我,一个,不要使用它们。
无论如何,如果您真的真的需要更严格/更可靠的DNAStrand
切片内容安全性,则可以使用单个字段结构并为此/此类命名类型定义参数检查设置方法。
在这种情况下,如果以后在其他软件包中使用该定义,则无法使用软件包unsafe进行模运算来规避检查并获得与您的DNAStrand{[]byte("foo bar")}
示例相同的结果。
我目前正在学习做rosalind问题(基本上是一堆与生物信息学相关的代码)。 我目前正在用以下类型表示一条DNA链: 我最初的原因是封装字节片,这样我就知道它只包含代表核苷酸的字节:。我意识到这显然没有保护,因为我可以简单地做: 也不再保证我的dna链包含一个字节数组,其中只有来自这四个字节的元素。 因为我的结构只包含一个字节数组是更好/更理想的做法: 还是让类型包含dna链更好?对于何时使用这两
我目前正在通过做rosalind问题(基本上是一堆生物信息学相关的代码katas)来学习Go。 我当前表示的DNA链类型为: 我最初的原因是封装字节片,这样我就知道它只包含代表核苷酸的字节:。我意识到这显然不是瓜分,因为我可以简单地做到: 由于我的结构只包含一个字节数组,这样做是否更好/更理想: 还是让类型包含dna链更好?对于何时使用这两种方法中的任何一种,有什么经验法则吗?
问题内容: 我正在学习Java,并且希望将自己的课堂变成可观察的课堂。 但是我已经有了它扩展了另一个类。 我该怎么办? 问题答案: 我建议避免完全使用该类,而应 定义事件特定的侦听器和相应的事件定义 。然后在您的类中定义一个侦听器列表,以及添加和删除侦听器以及向其传播事件的方法(请参见下文)。 强制您使用它来表示事件,然后使用来检查事件类型,这是一种丑陋的非OO方法,并使代码更难以理解。如果查看j
我有一个泛型类型K,我想验证K是否实现了接口可比性。这是我的代码: 但是代码不起作用。我不想将所有K限制为实现可比性。我已经有了另一个TreeMapVector相似度类。如果K实现了接口可比性,我将使用TreeMapVector相似度类返回结果。 你认为我如何能解决这个问题?谢了。
我有一个抽象类B,它扩展了另一个抽象类A。在抽象类A中,我有一个受保护的方法转换。我想测试方法foo,它从没有实现的基类调用方法convert。如果无法更改转换方法签名,如何模拟方法转换。 我使用Mockito.spy()调用真正的方法,但转换方法是不可用的嘲弄(通过Mockito.when(...)。 告诉我如何测试方法foo。
我有两个数据库表