Golang içinde çeteleler temsil eden deyimsel bir yolu nedir?
Her sadece {A, C, T, G} biri olabilir N üsleri, oluşan basitleştirilmiş bir kromozom, temsil etmeye çalışıyorum. Bir sıralama ile kısıtlamaları resmileştirmek istiyorum, ama bir numaralama taklit en aptalca yolu / golang gidip ne olduğunu merak ediyorum.
CEVAP
Dil özellikleri:Iota ' dan alıntı
Sürekli bir beyan içinde, predeclared tanımlayıcı zerre art arda yazılmamış tamsayı sabitleri temsil eder. Ayrılmış sözcük inş her ConstSpec sonra kaynak ve artışlarla görünür zaman 0'a sıfırlanır. İlgili sabitler bir dizi oluşturmak için kullanılabilir:
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)
Bir ExpressionList içinde, her zerre değeri her ConstSpec sonra artan çünkü o sadece aynı:
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
)
Bu son örnek, boş olmayan son ifade listenin örtülü tekrarı patlatır.
Kodunuz gibi olabilir
const (
A = iota
C
T
G
)
ya
type Base int
const (
A Base = iota
C
T
G
)
üsleri int ayrı bir tür olmasını istiyorsanız.
Clojure içinde GUI yapmanın en iyi yol...
Boş XML öğeleri temsil etmek için doğr...
Bu kullanmak için doğru yolu Nedir `.T...
Eğer bir dosya C içinde olup olmadığın...
Bir nesneyi klonlamak için en etkili y...