同一Go结构成员上的多个标签

I feel like this should be a minor problem, but I've tried every pattern that I can think of, and I haven't had any luck. I have a structure that needs to be encodable by both the encoding/json and github.com/zeebo/bencode packages. It happens to include a channel, which cannot be encoded by either package. Thus, it needs to carry the tag "-", so that that field is skipped.

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

This is valid when encoded by the json package, but fails with the bencode package.

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

This block, of course, has the complimentary problem. I have tried tag syntaxes like json:"-",bencode:"-", *:"-", "-", -. Is there a solution?

Thank you all.

Spaces appear to be the delimiter between struct tags when used for encoding hints.

Example:

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

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

In your case, try:

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