SORU
20 Ocak 2013, Pazar


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
20 Ocak 2013, Pazar


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • dope2111

    dope2111

    29 HAZİRAN 2009
  • guillaume2111's channel

    guillaume211

    19 Kasım 2006
  • Howard Pinsky

    Howard Pinsk

    6 AĞUSTOS 2006