14

これはささいな問題だと思いますが、思いつく限りのパターンを試してみましたが、運が悪かったです。encoding/jsonとパッケージの両方でエンコードできる必要がある構造がありgithub.com/zeebo/bencodeます。たまたまチャネルが含まれていますが、どちらのパッケージでもエンコードできません。"-"したがって、そのフィールドがスキップされるように、タグを運ぶ必要があります。

type Index struct {
    Data data
    Queue chan string `json:"-"`
}

これは、パッケージによってエンコードされている場合は有効ですが、jsonパッケージでは失敗しbencodeます。

type Index struct {
    Data data
    Queue chan string `bencode:"-"`
}

もちろん、このブロックには補完的な問題があります。json:"-",bencode:"-"、、、*:"-"のようなタグ構文を試しまし"-"-。解決策はありますか?

皆さん、ありがとうございました。

4

1 に答える 1

21

エンコードのヒントに使用される場合、スペースは構造体タグ間の区切り文字のように見えます。

例:

type TaggedStructExample struct {
    ...
    J int `datastore:",noindex" json:"j"`
}

から: https://developers.google.com/appengine/docs/go/datastore/reference#Properties

あなたの場合、試してください:

type Index struct {
    Data data
    Queue chan string `bencode:"-" json:"-"`
}
于 2012-12-04T01:37:32.317 に答える