MCPcopy Create free account
hub / github.com/stretchr/objx / StringSlice

Method StringSlice

value.go:58–159  ·  view source on GitHub ↗

StringSlice returns the value always as a []string

(optionalDefault ...[]string)

Source from the content-addressed store, hash-verified

56
57// StringSlice returns the value always as a []string
58func (v *Value) StringSlice(optionalDefault ...[]string) []string {
59 switch {
60 case v.IsStrSlice():
61 return v.MustStrSlice()
62 case v.IsBoolSlice():
63 slice := v.MustBoolSlice()
64 vals := make([]string, len(slice))
65 for i, iv := range slice {
66 vals[i] = strconv.FormatBool(iv)
67 }
68 return vals
69 case v.IsFloat32Slice():
70 slice := v.MustFloat32Slice()
71 vals := make([]string, len(slice))
72 for i, iv := range slice {
73 vals[i] = strconv.FormatFloat(float64(iv), 'f', -1, 32)
74 }
75 return vals
76 case v.IsFloat64Slice():
77 slice := v.MustFloat64Slice()
78 vals := make([]string, len(slice))
79 for i, iv := range slice {
80 vals[i] = strconv.FormatFloat(iv, 'f', -1, 64)
81 }
82 return vals
83 case v.IsIntSlice():
84 slice := v.MustIntSlice()
85 vals := make([]string, len(slice))
86 for i, iv := range slice {
87 vals[i] = strconv.FormatInt(int64(iv), 10)
88 }
89 return vals
90 case v.IsInt8Slice():
91 slice := v.MustInt8Slice()
92 vals := make([]string, len(slice))
93 for i, iv := range slice {
94 vals[i] = strconv.FormatInt(int64(iv), 10)
95 }
96 return vals
97 case v.IsInt16Slice():
98 slice := v.MustInt16Slice()
99 vals := make([]string, len(slice))
100 for i, iv := range slice {
101 vals[i] = strconv.FormatInt(int64(iv), 10)
102 }
103 return vals
104 case v.IsInt32Slice():
105 slice := v.MustInt32Slice()
106 vals := make([]string, len(slice))
107 for i, iv := range slice {
108 vals[i] = strconv.FormatInt(int64(iv), 10)
109 }
110 return vals
111 case v.IsInt64Slice():
112 slice := v.MustInt64Slice()
113 vals := make([]string, len(slice))
114 for i, iv := range slice {
115 vals[i] = strconv.FormatInt(iv, 10)

Callers 7

parseURLValuesMethod · 0.95
TestStringSliceTypeBoolFunction · 0.80
TestStringSliceTypeIntFunction · 0.80
TestStringSliceTypeUintFunction · 0.80
TestStringSliceTypeFloatFunction · 0.80
TestStringSliceTypeOtherFunction · 0.80

Calls 15

IsStrSliceMethod · 0.95
MustStrSliceMethod · 0.95
IsBoolSliceMethod · 0.95
MustBoolSliceMethod · 0.95
IsFloat32SliceMethod · 0.95
MustFloat32SliceMethod · 0.95
IsFloat64SliceMethod · 0.95
MustFloat64SliceMethod · 0.95
IsIntSliceMethod · 0.95
MustIntSliceMethod · 0.95
IsInt8SliceMethod · 0.95
MustInt8SliceMethod · 0.95

Tested by 6

TestStringSliceTypeBoolFunction · 0.64
TestStringSliceTypeIntFunction · 0.64
TestStringSliceTypeUintFunction · 0.64
TestStringSliceTypeFloatFunction · 0.64
TestStringSliceTypeOtherFunction · 0.64