123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808 |
- package tests
- import (
- "fmt"
- "math"
- "net"
- "time"
- "github.com/mailru/easyjson"
- "github.com/mailru/easyjson/opt"
- )
- type PrimitiveTypes struct {
- String string
- Bool bool
- Int int
- Int8 int8
- Int16 int16
- Int32 int32
- Int64 int64
- Uint uint
- Uint8 uint8
- Uint16 uint16
- Uint32 uint32
- Uint64 uint64
- IntString int `json:",string"`
- Int8String int8 `json:",string"`
- Int16String int16 `json:",string"`
- Int32String int32 `json:",string"`
- Int64String int64 `json:",string"`
- UintString uint `json:",string"`
- Uint8String uint8 `json:",string"`
- Uint16String uint16 `json:",string"`
- Uint32String uint32 `json:",string"`
- Uint64String uint64 `json:",string"`
- Float32 float32
- Float64 float64
- Float32String float32 `json:",string"`
- Float64String float64 `json:",string"`
- Ptr *string
- PtrNil *string
- }
- var str = "bla"
- var primitiveTypesValue = PrimitiveTypes{
- String: "test", Bool: true,
- Int: math.MinInt32,
- Int8: math.MinInt8,
- Int16: math.MinInt16,
- Int32: math.MinInt32,
- Int64: math.MinInt64,
- Uint: math.MaxUint32,
- Uint8: math.MaxUint8,
- Uint16: math.MaxUint16,
- Uint32: math.MaxUint32,
- Uint64: math.MaxUint64,
- IntString: math.MinInt32,
- Int8String: math.MinInt8,
- Int16String: math.MinInt16,
- Int32String: math.MinInt32,
- Int64String: math.MinInt64,
- UintString: math.MaxUint32,
- Uint8String: math.MaxUint8,
- Uint16String: math.MaxUint16,
- Uint32String: math.MaxUint32,
- Uint64String: math.MaxUint64,
- Float32: 1.5,
- Float64: math.MaxFloat64,
- Float32String: 1.5,
- Float64String: math.MaxFloat64,
- Ptr: &str,
- }
- var primitiveTypesString = "{" +
- `"String":"test","Bool":true,` +
- `"Int":` + fmt.Sprint(math.MinInt32) + `,` +
- `"Int8":` + fmt.Sprint(math.MinInt8) + `,` +
- `"Int16":` + fmt.Sprint(math.MinInt16) + `,` +
- `"Int32":` + fmt.Sprint(math.MinInt32) + `,` +
- `"Int64":` + fmt.Sprint(int64(math.MinInt64)) + `,` +
- `"Uint":` + fmt.Sprint(uint32(math.MaxUint32)) + `,` +
- `"Uint8":` + fmt.Sprint(math.MaxUint8) + `,` +
- `"Uint16":` + fmt.Sprint(math.MaxUint16) + `,` +
- `"Uint32":` + fmt.Sprint(uint32(math.MaxUint32)) + `,` +
- `"Uint64":` + fmt.Sprint(uint64(math.MaxUint64)) + `,` +
- `"IntString":"` + fmt.Sprint(math.MinInt32) + `",` +
- `"Int8String":"` + fmt.Sprint(math.MinInt8) + `",` +
- `"Int16String":"` + fmt.Sprint(math.MinInt16) + `",` +
- `"Int32String":"` + fmt.Sprint(math.MinInt32) + `",` +
- `"Int64String":"` + fmt.Sprint(int64(math.MinInt64)) + `",` +
- `"UintString":"` + fmt.Sprint(uint32(math.MaxUint32)) + `",` +
- `"Uint8String":"` + fmt.Sprint(math.MaxUint8) + `",` +
- `"Uint16String":"` + fmt.Sprint(math.MaxUint16) + `",` +
- `"Uint32String":"` + fmt.Sprint(uint32(math.MaxUint32)) + `",` +
- `"Uint64String":"` + fmt.Sprint(uint64(math.MaxUint64)) + `",` +
- `"Float32":` + fmt.Sprint(1.5) + `,` +
- `"Float64":` + fmt.Sprint(math.MaxFloat64) + `,` +
- `"Float32String":"` + fmt.Sprint(1.5) + `",` +
- `"Float64String":"` + fmt.Sprint(math.MaxFloat64) + `",` +
- `"Ptr":"bla",` +
- `"PtrNil":null` +
- "}"
- type (
- NamedString string
- NamedBool bool
- NamedInt int
- NamedInt8 int8
- NamedInt16 int16
- NamedInt32 int32
- NamedInt64 int64
- NamedUint uint
- NamedUint8 uint8
- NamedUint16 uint16
- NamedUint32 uint32
- NamedUint64 uint64
- NamedFloat32 float32
- NamedFloat64 float64
- NamedStrPtr *string
- )
- type NamedPrimitiveTypes struct {
- String NamedString
- Bool NamedBool
- Int NamedInt
- Int8 NamedInt8
- Int16 NamedInt16
- Int32 NamedInt32
- Int64 NamedInt64
- Uint NamedUint
- Uint8 NamedUint8
- Uint16 NamedUint16
- Uint32 NamedUint32
- Uint64 NamedUint64
- Float32 NamedFloat32
- Float64 NamedFloat64
- Ptr NamedStrPtr
- PtrNil NamedStrPtr
- }
- var namedPrimitiveTypesValue = NamedPrimitiveTypes{
- String: "test",
- Bool: true,
- Int: math.MinInt32,
- Int8: math.MinInt8,
- Int16: math.MinInt16,
- Int32: math.MinInt32,
- Int64: math.MinInt64,
- Uint: math.MaxUint32,
- Uint8: math.MaxUint8,
- Uint16: math.MaxUint16,
- Uint32: math.MaxUint32,
- Uint64: math.MaxUint64,
- Float32: 1.5,
- Float64: math.MaxFloat64,
- Ptr: NamedStrPtr(&str),
- }
- var namedPrimitiveTypesString = "{" +
- `"String":"test",` +
- `"Bool":true,` +
- `"Int":` + fmt.Sprint(math.MinInt32) + `,` +
- `"Int8":` + fmt.Sprint(math.MinInt8) + `,` +
- `"Int16":` + fmt.Sprint(math.MinInt16) + `,` +
- `"Int32":` + fmt.Sprint(math.MinInt32) + `,` +
- `"Int64":` + fmt.Sprint(int64(math.MinInt64)) + `,` +
- `"Uint":` + fmt.Sprint(uint32(math.MaxUint32)) + `,` +
- `"Uint8":` + fmt.Sprint(math.MaxUint8) + `,` +
- `"Uint16":` + fmt.Sprint(math.MaxUint16) + `,` +
- `"Uint32":` + fmt.Sprint(uint32(math.MaxUint32)) + `,` +
- `"Uint64":` + fmt.Sprint(uint64(math.MaxUint64)) + `,` +
- `"Float32":` + fmt.Sprint(1.5) + `,` +
- `"Float64":` + fmt.Sprint(math.MaxFloat64) + `,` +
- `"Ptr":"bla",` +
- `"PtrNil":null` +
- "}"
- type SubStruct struct {
- Value string
- Value2 string
- unexpored bool
- }
- type SubP struct {
- V string
- }
- type SubStructAlias SubStruct
- type Structs struct {
- SubStruct
- *SubP
- Value2 int
- Sub1 SubStruct `json:"substruct"`
- Sub2 *SubStruct
- SubNil *SubStruct
- SubSlice []SubStruct
- SubSliceNil []SubStruct
- SubPtrSlice []*SubStruct
- SubPtrSliceNil []*SubStruct
- SubA1 SubStructAlias
- SubA2 *SubStructAlias
- Anonymous struct {
- V string
- I int
- }
- Anonymous1 *struct {
- V string
- }
- AnonymousSlice []struct{ V int }
- AnonymousPtrSlice []*struct{ V int }
- Slice []string
- unexported bool
- }
- var structsValue = Structs{
- SubStruct: SubStruct{Value: "test"},
- SubP: &SubP{V: "subp"},
- Value2: 5,
- Sub1: SubStruct{Value: "test1", Value2: "v"},
- Sub2: &SubStruct{Value: "test2", Value2: "v2"},
- SubSlice: []SubStruct{
- {Value: "s1"},
- {Value: "s2"},
- },
- SubPtrSlice: []*SubStruct{
- {Value: "p1"},
- {Value: "p2"},
- },
- SubA1: SubStructAlias{Value: "test3", Value2: "v3"},
- SubA2: &SubStructAlias{Value: "test4", Value2: "v4"},
- Anonymous: struct {
- V string
- I int
- }{V: "bla", I: 5},
- Anonymous1: &struct {
- V string
- }{V: "bla1"},
- AnonymousSlice: []struct{ V int }{{1}, {2}},
- AnonymousPtrSlice: []*struct{ V int }{{3}, {4}},
- Slice: []string{"test5", "test6"},
- }
- var structsString = "{" +
- `"Value2":5,` +
- `"substruct":{"Value":"test1","Value2":"v"},` +
- `"Sub2":{"Value":"test2","Value2":"v2"},` +
- `"SubNil":null,` +
- `"SubSlice":[{"Value":"s1","Value2":""},{"Value":"s2","Value2":""}],` +
- `"SubSliceNil":null,` +
- `"SubPtrSlice":[{"Value":"p1","Value2":""},{"Value":"p2","Value2":""}],` +
- `"SubPtrSliceNil":null,` +
- `"SubA1":{"Value":"test3","Value2":"v3"},` +
- `"SubA2":{"Value":"test4","Value2":"v4"},` +
- `"Anonymous":{"V":"bla","I":5},` +
- `"Anonymous1":{"V":"bla1"},` +
- `"AnonymousSlice":[{"V":1},{"V":2}],` +
- `"AnonymousPtrSlice":[{"V":3},{"V":4}],` +
- `"Slice":["test5","test6"],` +
- // Embedded fields go last.
- `"V":"subp",` +
- `"Value":"test"` +
- "}"
- type OmitEmpty struct {
- // NOTE: first field is empty to test comma printing.
- StrE, StrNE string `json:",omitempty"`
- PtrE, PtrNE *string `json:",omitempty"`
- IntNE int `json:"intField,omitempty"`
- IntE int `json:",omitempty"`
- // NOTE: omitempty has no effect on non-pointer struct fields.
- SubE, SubNE SubStruct `json:",omitempty"`
- SubPE, SubPNE *SubStruct `json:",omitempty"`
- }
- var omitEmptyValue = OmitEmpty{
- StrNE: "str",
- PtrNE: &str,
- IntNE: 6,
- SubNE: SubStruct{Value: "1", Value2: "2"},
- SubPNE: &SubStruct{Value: "3", Value2: "4"},
- }
- var omitEmptyString = "{" +
- `"StrNE":"str",` +
- `"PtrNE":"bla",` +
- `"intField":6,` +
- `"SubE":{"Value":"","Value2":""},` +
- `"SubNE":{"Value":"1","Value2":"2"},` +
- `"SubPNE":{"Value":"3","Value2":"4"}` +
- "}"
- type Opts struct {
- StrNull opt.String
- StrEmpty opt.String
- Str opt.String
- StrOmitempty opt.String `json:",omitempty"`
- IntNull opt.Int
- IntZero opt.Int
- Int opt.Int
- }
- var optsValue = Opts{
- StrEmpty: opt.OString(""),
- Str: opt.OString("test"),
- IntZero: opt.OInt(0),
- Int: opt.OInt(5),
- }
- var optsString = `{` +
- `"StrNull":null,` +
- `"StrEmpty":"",` +
- `"Str":"test",` +
- `"IntNull":null,` +
- `"IntZero":0,` +
- `"Int":5` +
- `}`
- type Raw struct {
- Field easyjson.RawMessage
- Field2 string
- }
- var rawValue = Raw{
- Field: []byte(`{"a" : "b"}`),
- Field2: "test",
- }
- var rawString = `{` +
- `"Field":{"a" : "b"},` +
- `"Field2":"test"` +
- `}`
- type StdMarshaler struct {
- T time.Time
- IP net.IP
- }
- var stdMarshalerValue = StdMarshaler{
- T: time.Date(2016, 01, 02, 14, 15, 10, 0, time.UTC),
- IP: net.IPv4(192, 168, 0, 1),
- }
- var stdMarshalerString = `{` +
- `"T":"2016-01-02T14:15:10Z",` +
- `"IP":"192.168.0.1"` +
- `}`
- type UserMarshaler struct {
- V vMarshaler
- T tMarshaler
- }
- type vMarshaler net.IP
- func (v vMarshaler) MarshalJSON() ([]byte, error) {
- return []byte(`"0::0"`), nil
- }
- func (v *vMarshaler) UnmarshalJSON([]byte) error {
- *v = vMarshaler(net.IPv6zero)
- return nil
- }
- type tMarshaler net.IP
- func (v tMarshaler) MarshalText() ([]byte, error) {
- return []byte(`[0::0]`), nil
- }
- func (v *tMarshaler) UnmarshalText([]byte) error {
- *v = tMarshaler(net.IPv6zero)
- return nil
- }
- var userMarshalerValue = UserMarshaler{
- V: vMarshaler(net.IPv6zero),
- T: tMarshaler(net.IPv6zero),
- }
- var userMarshalerString = `{` +
- `"V":"0::0",` +
- `"T":"[0::0]"` +
- `}`
- type unexportedStruct struct {
- Value string
- }
- var unexportedStructValue = unexportedStruct{"test"}
- var unexportedStructString = `{"Value":"test"}`
- type ExcludedField struct {
- Process bool `json:"process"`
- DoNotProcess bool `json:"-"`
- DoNotProcess1 bool `json:"-"`
- }
- var excludedFieldValue = ExcludedField{
- Process: true,
- DoNotProcess: false,
- DoNotProcess1: false,
- }
- var excludedFieldString = `{"process":true}`
- type Slices struct {
- ByteSlice []byte
- EmptyByteSlice []byte
- NilByteSlice []byte
- IntSlice []int
- EmptyIntSlice []int
- NilIntSlice []int
- }
- var sliceValue = Slices{
- ByteSlice: []byte("abc"),
- EmptyByteSlice: []byte{},
- NilByteSlice: []byte(nil),
- IntSlice: []int{1, 2, 3, 4, 5},
- EmptyIntSlice: []int{},
- NilIntSlice: []int(nil),
- }
- var sliceString = `{` +
- `"ByteSlice":"YWJj",` +
- `"EmptyByteSlice":"",` +
- `"NilByteSlice":null,` +
- `"IntSlice":[1,2,3,4,5],` +
- `"EmptyIntSlice":[],` +
- `"NilIntSlice":null` +
- `}`
- type Arrays struct {
- ByteArray [3]byte
- EmptyByteArray [0]byte
- IntArray [5]int
- EmptyIntArray [0]int
- }
- var arrayValue = Arrays{
- ByteArray: [3]byte{'a', 'b', 'c'},
- EmptyByteArray: [0]byte{},
- IntArray: [5]int{1, 2, 3, 4, 5},
- EmptyIntArray: [0]int{},
- }
- var arrayString = `{` +
- `"ByteArray":"YWJj",` +
- `"EmptyByteArray":"",` +
- `"IntArray":[1,2,3,4,5],` +
- `"EmptyIntArray":[]` +
- `}`
- var arrayOverflowString = `{` +
- `"ByteArray":"YWJjbnNk",` +
- `"EmptyByteArray":"YWJj",` +
- `"IntArray":[1,2,3,4,5,6],` +
- `"EmptyIntArray":[7,8]` +
- `}`
- var arrayUnderflowValue = Arrays{
- ByteArray: [3]byte{'x', 0, 0},
- EmptyByteArray: [0]byte{},
- IntArray: [5]int{1, 2, 0, 0, 0},
- EmptyIntArray: [0]int{},
- }
- var arrayUnderflowString = `{` +
- `"ByteArray":"eA==",` +
- `"IntArray":[1,2]` +
- `}`
- type Str string
- type Maps struct {
- Map map[string]string
- InterfaceMap map[string]interface{}
- NilMap map[string]string
- CustomMap map[Str]Str
- }
- var mapsValue = Maps{
- Map: map[string]string{"A": "b"}, // only one item since map iteration is randomized
- InterfaceMap: map[string]interface{}{"G": float64(1)},
- CustomMap: map[Str]Str{"c": "d"},
- }
- var mapsString = `{` +
- `"Map":{"A":"b"},` +
- `"InterfaceMap":{"G":1},` +
- `"NilMap":null,` +
- `"CustomMap":{"c":"d"}` +
- `}`
- type NamedSlice []Str
- type NamedMap map[Str]Str
- type DeepNest struct {
- SliceMap map[Str][]Str
- SliceMap1 map[Str][]Str
- SliceMap2 map[Str][]Str
- NamedSliceMap map[Str]NamedSlice
- NamedMapMap map[Str]NamedMap
- MapSlice []map[Str]Str
- NamedSliceSlice []NamedSlice
- NamedMapSlice []NamedMap
- NamedStringSlice []NamedString
- }
- var deepNestValue = DeepNest{
- SliceMap: map[Str][]Str{
- "testSliceMap": []Str{
- "0",
- "1",
- },
- },
- SliceMap1: map[Str][]Str{
- "testSliceMap1": []Str(nil),
- },
- SliceMap2: map[Str][]Str{
- "testSliceMap2": []Str{},
- },
- NamedSliceMap: map[Str]NamedSlice{
- "testNamedSliceMap": NamedSlice{
- "2",
- "3",
- },
- },
- NamedMapMap: map[Str]NamedMap{
- "testNamedMapMap": NamedMap{
- "key1": "value1",
- },
- },
- MapSlice: []map[Str]Str{
- map[Str]Str{
- "testMapSlice": "someValue",
- },
- },
- NamedSliceSlice: []NamedSlice{
- NamedSlice{
- "someValue1",
- "someValue2",
- },
- NamedSlice{
- "someValue3",
- "someValue4",
- },
- },
- NamedMapSlice: []NamedMap{
- NamedMap{
- "key2": "value2",
- },
- NamedMap{
- "key3": "value3",
- },
- },
- NamedStringSlice: []NamedString{
- "value4", "value5",
- },
- }
- var deepNestString = `{` +
- `"SliceMap":{` +
- `"testSliceMap":["0","1"]` +
- `},` +
- `"SliceMap1":{` +
- `"testSliceMap1":null` +
- `},` +
- `"SliceMap2":{` +
- `"testSliceMap2":[]` +
- `},` +
- `"NamedSliceMap":{` +
- `"testNamedSliceMap":["2","3"]` +
- `},` +
- `"NamedMapMap":{` +
- `"testNamedMapMap":{"key1":"value1"}` +
- `},` +
- `"MapSlice":[` +
- `{"testMapSlice":"someValue"}` +
- `],` +
- `"NamedSliceSlice":[` +
- `["someValue1","someValue2"],` +
- `["someValue3","someValue4"]` +
- `],` +
- `"NamedMapSlice":[` +
- `{"key2":"value2"},` +
- `{"key3":"value3"}` +
- `],` +
- `"NamedStringSlice":["value4","value5"]` +
- `}`
- //easyjson:json
- type Ints []int
- var IntsValue = Ints{1, 2, 3, 4, 5}
- var IntsString = `[1,2,3,4,5]`
- //easyjson:json
- type MapStringString map[string]string
- var mapStringStringValue = MapStringString{"a": "b"}
- var mapStringStringString = `{"a":"b"}`
- type RequiredOptionalStruct struct {
- FirstName string `json:"first_name,required"`
- Lastname string `json:"last_name"`
- }
- type RequiredOptionalMap struct {
- ReqMap map[int]string `json:"req_map,required"`
- OmitEmptyMap map[int]string `json:"oe_map,omitempty"`
- NoOmitEmptyMap map[int]string `json:"noe_map,!omitempty"`
- }
- //easyjson:json
- type EncodingFlagsTestMap struct {
- F map[string]string
- }
- //easyjson:json
- type EncodingFlagsTestSlice struct {
- F []string
- }
- type StructWithInterface struct {
- Field1 int `json:"f1"`
- Field2 interface{} `json:"f2"`
- Field3 string `json:"f3"`
- }
- type EmbeddedStruct struct {
- Field1 int `json:"f1"`
- Field2 string `json:"f2"`
- }
- var structWithInterfaceString = `{"f1":1,"f2":{"f1":11,"f2":"22"},"f3":"3"}`
- var structWithInterfaceValueFilled = StructWithInterface{1, &EmbeddedStruct{11, "22"}, "3"}
- //easyjson:json
- type MapIntString map[int]string
- var mapIntStringValue = MapIntString{3: "hi"}
- var mapIntStringValueString = `{"3":"hi"}`
- //easyjson:json
- type MapInt32String map[int32]string
- var mapInt32StringValue = MapInt32String{-354634382: "life"}
- var mapInt32StringValueString = `{"-354634382":"life"}`
- //easyjson:json
- type MapInt64String map[int64]string
- var mapInt64StringValue = MapInt64String{-3546343826724305832: "life"}
- var mapInt64StringValueString = `{"-3546343826724305832":"life"}`
- //easyjson:json
- type MapUintString map[uint]string
- var mapUintStringValue = MapUintString{42: "life"}
- var mapUintStringValueString = `{"42":"life"}`
- //easyjson:json
- type MapUint32String map[uint32]string
- var mapUint32StringValue = MapUint32String{354634382: "life"}
- var mapUint32StringValueString = `{"354634382":"life"}`
- //easyjson:json
- type MapUint64String map[uint64]string
- var mapUint64StringValue = MapUint64String{3546343826724305832: "life"}
- var mapUint64StringValueString = `{"3546343826724305832":"life"}`
- //easyjson:json
- type MapUintptrString map[uintptr]string
- var mapUintptrStringValue = MapUintptrString{272679208: "obj"}
- var mapUintptrStringValueString = `{"272679208":"obj"}`
- type MyInt int
- //easyjson:json
- type MapMyIntString map[MyInt]string
- var mapMyIntStringValue = MapMyIntString{MyInt(42): "life"}
- var mapMyIntStringValueString = `{"42":"life"}`
- //easyjson:json
- type IntKeyedMapStruct struct {
- Foo MapMyIntString `json:"foo"`
- Bar map[int16]MapUint32String `json:"bar"`
- }
- var intKeyedMapStructValue = IntKeyedMapStruct{
- Foo: mapMyIntStringValue,
- Bar: map[int16]MapUint32String{32: mapUint32StringValue},
- }
- var intKeyedMapStructValueString = `{` +
- `"foo":{"42":"life"},` +
- `"bar":{"32":{"354634382":"life"}}` +
- `}`
- type IntArray [2]int
- //easyjson:json
- type IntArrayStruct struct {
- Pointer *IntArray `json:"pointer"`
- Value IntArray `json:"value"`
- }
- var intArrayStructValue = IntArrayStruct{
- Pointer: &IntArray{1, 2},
- Value: IntArray{1, 2},
- }
- var intArrayStructValueString = `{` +
- `"pointer":[1,2],` +
- `"value":[1,2]` +
- `}`
- type MyUInt8 uint8
- //easyjson:json
- type MyUInt8Slice []MyUInt8
- var myUInt8SliceValue = MyUInt8Slice{1, 2, 3, 4, 5}
- var myUInt8SliceString = `[1,2,3,4,5]`
- //easyjson:json
- type MyUInt8Array [2]MyUInt8
- var myUInt8ArrayValue = MyUInt8Array{1, 2}
- var myUInt8ArrayString = `[1,2]`
|