Ich denke, das sollte ein kleines Problem sein, aber ich habe versucht, jedes Muster, das ich mir vorstellen kann, und ich hatte kein Glück. Ich habe eine Struktur, die sowohl von den encoding/json
und github.com/zeebo/bencode
Pakete codiert werden muss. Es enthält zufällig einen Kanal, der von keinem der beiden Pakete codiert werden kann. Daher muss das Tag "-"
mitgeführt werden, damit dieses Feld übersprungen wird.Mehrere Tags auf der gleichen Go-Struktur Mitglied
type Index struct {
Data data
Queue chan string `json:"-"`
}
Dies gilt, wenn die von dem json
Paket codiert, aber nicht mit dem bencode
Paket.
type Index struct {
Data data
Queue chan string `bencode:"-"`
}
Dieser Block hat natürlich das Komplementärproblem. Ich habe Tag-Syntaxen wie json:"-",bencode:"-"
, *:"-"
, "-"
, -
versucht. Gibt es eine Lösung?
Danke euch allen.
Das ist die eine Sache, war ich nicht versuchen! Vielen Dank. –
Von http://golang.org/pkg/reflect/#StructTag: Konventionelle Tag-Zeichenfolgen sind eine Verkettung von optional durch Leerzeichen getrennten Schlüssel: "Wert" -Paare. Jeder Schlüssel ist eine nicht leere Zeichenkette, die aus anderen Zeichen besteht als Leerzeichen (U + 0020 ''), Zitat (U + 0022 '' ') und Doppelpunkt (U + 003A': '). Jeder Wert wird in Anführungszeichen gesetzt Verwenden von U + 0022 '"' Zeichen und Go-String-Literalsyntax. –
Mit anderen Worten, der Platz ist optional, aber kein anderes Trennzeichen funktioniert. –