2015-06-06 11 views

risposta

35

È possibile aggiungere ulteriori metamodifiche alle strutture Go sotto forma di tag. Here are some examples of use cases.

In questo caso, il json:"gateway" è utilizzato dal json package per codificare il valore Gateway nella chiave gateway nell'oggetto json corrispondente.

Esempio:

n := NetworkInterface{ 
    Gateway : "foo" 
} 
json.Marshal(n) 
// will output `{"gateway":"foo",...}` 
41

Sono tags:

Una dichiarazione di campo può essere seguita da un tag letterale stringa opzionale, che diventa un attributo per tutti i campi della corrispondente dichiarazione campo. I tag sono resi visibili attraverso un'interfaccia di riflessione e prendono parte all'identità di tipo per le strutture, ma sono altrimenti ignorati .

// 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" 
} 

Vedi this question and answer per una spiegazione più dettagliata e risposta.

Il back quotes sono utilizzati per creare stringhe letterali prime che possono contenere qualsiasi tipo di personaggio:

stringhe letterali prime sono sequenze di caratteri tra virgolette schiena ``. All'interno delle virgolette, qualsiasi carattere è legale tranne la citazione posteriore.

+4

Grazie per la spiegazione di nuovo preventivo. – Ben

Problemi correlati