structtag: github.com/fatih/structtag Index | Files

package structtag

import "github.com/fatih/structtag"

Index

Package Files

tags.go

type Tag Uses

type Tag struct {
    // Key is the tag key, such as json, xml, etc..
    // i.e: `json:"foo,omitempty". Here key is: "json"
    Key string

    // Name is a part of the value
    // i.e: `json:"foo,omitempty". Here name is: "foo"
    Name string

    // Options is a part of the value. It contains a slice of tag options i.e:
    // `json:"foo,omitempty". Here options is: ["omitempty"]
    Options []string
}

Tag defines a single struct's string literal tag

func (*Tag) GoString Uses

func (t *Tag) GoString() string

GoString implements the fmt.GoStringer interface

func (*Tag) HasOption Uses

func (t *Tag) HasOption(opt string) bool

HasOption returns true if the given option is available in options

func (*Tag) String Uses

func (t *Tag) String() string

String reassembles the tag into a valid tag field representation

type Tags Uses

type Tags struct {
    // contains filtered or unexported fields
}

Tags represent a set of tags from a single struct field

func Parse Uses

func Parse(tag string) (*Tags, error)

Parse parses a single struct field tag and returns the set of tags.

func (*Tags) AddOptions Uses

func (t *Tags) AddOptions(key string, options ...string)

AddOptions adds the given option for the given key. If the option already exists it doesn't add it again.

func (*Tags) Delete Uses

func (t *Tags) Delete(keys ...string)

Delete deletes the tag for the given keys

func (*Tags) DeleteOptions Uses

func (t *Tags) DeleteOptions(key string, options ...string)

DeleteOptions deletes the given options for the given key

func (*Tags) Get Uses

func (t *Tags) Get(key string) (*Tag, error)

Get returns the tag associated with the given key. If the key is present in the tag the value (which may be empty) is returned. Otherwise the returned value will be the empty string. The ok return value reports whether the tag exists or not (which the return value is nil).

func (*Tags) Keys Uses

func (t *Tags) Keys() []string

Tags returns a slice of tags. The order is the original tag order unless it was changed.

func (*Tags) Len Uses

func (t *Tags) Len() int

func (*Tags) Less Uses

func (t *Tags) Less(i int, j int) bool

func (*Tags) Set Uses

func (t *Tags) Set(tag *Tag) error

Set sets the given tag. If the tag key already exists it'll override it

func (*Tags) String Uses

func (t *Tags) String() string

String reassembles the tags into a valid literal tag field representation

func (*Tags) Swap Uses

func (t *Tags) Swap(i int, j int)

func (*Tags) Tags Uses

func (t *Tags) Tags() []*Tag

Tags returns a slice of tags. The order is the original tag order unless it was changed.

Package structtag imports 5 packages (graph) and is imported by 6 packages. Updated 2017-02-21. Refresh now. Tools for package owners.