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

  • AutoHotkey Tutorials

    AutoHotkey T

    29 Mayıs 2010
  • Elefant Traks

    Elefant Trak

    5 HAZİRAN 2007
  • Mark Brown

    Mark Brown

    9 HAZİRAN 2010