2012-07-13 17 views
22

Ben MgO (Go için MongoDB sürücü) nasıl kullanılacağını öğrenmek çalışıyorum ve bu yapı bildirimi geldi:Garip türü tanımı sözdizimi (isim, daha sonra, yazın ardından dize)

type Something struct { 
    Id bson.ObjectId "_id,omitempty" 
    Name string 
} 

İlk öğenin (Id) sözdizimini tam olarak anlamıyorum. Türünün bson.ObjectId türünde bildirildiğini anlıyorum, ancak orada yapılan dizgi nedir?
ama bu garip <name> <type> <string_literal> sözdizimi hakkında Sorum mgo sürücü işlevselliği ile ilgili değildir

.

Go özelliklerinde hiçbir şey bulamadım ve bunu nasıl yapacağımı bilmiyorum.

+0

burada daha fazla bilgi ve örneklere bakın: [Go etiketlerin kullanım (lar) nelerdir?] (Https://stackoverflow.com/questions/10858787/what-are-the-uses- for-tags-in-go/30889373 # 30889373) – icza

cevap

37

O language specification arasında Struct types bölümünde anlatılmış:

Bir alan beyan karşılık gelen alan bildiriminde tüm alanlar için bir öznitelik haline isteğe bağlı dize literal etiketi, takip edebilir. Etiketler bir reflection interface aracılığıyla görünür hale getirilir, ancak aksi halde göz ardı edilir.

// A struct corresponding to the TimeStamp protocol buffer. 
// The tag strings define the protocol buffer field numbers. 
struct { 
    microsec uint64 "field 1" 
    serverIP6 uint64 "field 2" 
    process string "field 3" 
} 
+0

Teşekkürler! Onu özledim. –

+0

özellikle, mgo durumunda, etiket, yapıyı bson olarak kodlarken kullanılacak anahtarı ayarlayacaktır. Bu ayrıca kodlama/json paketinin nasıl çalıştığıdır. Aksi takdirde Git başlık başlangıç ​​tuşlarını kullanırdı. – jorelli

İlgili konular