package types import ( "strings" "encoding/json" ) type StringSlice struct { Value []string } func (strSlice StringSlice) String() string { return strSlice.ConcatString("") } func (strSlice StringSlice) MarshalJSON() ([]byte, error) { return json.Marshal(strSlice.String()) } func (strSlice *StringSlice) Add(item string) []string { strSlice.Value = append(strSlice.Value, item) return strSlice.Value } func (strSlice StringSlice) ConcatString(joiner string) string { return strings.Join(strSlice.Value, joiner) }