46 out := make([]string, len(*s.value)) |
46 out := make([]string, len(*s.value)) |
47 for i, d := range *s.value { |
47 for i, d := range *s.value { |
48 out[i] = fmt.Sprintf("%d", d) |
48 out[i] = fmt.Sprintf("%d", d) |
49 } |
49 } |
50 return "[" + strings.Join(out, ",") + "]" |
50 return "[" + strings.Join(out, ",") + "]" |
|
51 } |
|
52 |
|
53 func (s *uintSliceValue) fromString(val string) (uint, error) { |
|
54 t, err := strconv.ParseUint(val, 10, 0) |
|
55 if err != nil { |
|
56 return 0, err |
|
57 } |
|
58 return uint(t), nil |
|
59 } |
|
60 |
|
61 func (s *uintSliceValue) toString(val uint) string { |
|
62 return fmt.Sprintf("%d", val) |
|
63 } |
|
64 |
|
65 func (s *uintSliceValue) Append(val string) error { |
|
66 i, err := s.fromString(val) |
|
67 if err != nil { |
|
68 return err |
|
69 } |
|
70 *s.value = append(*s.value, i) |
|
71 return nil |
|
72 } |
|
73 |
|
74 func (s *uintSliceValue) Replace(val []string) error { |
|
75 out := make([]uint, len(val)) |
|
76 for i, d := range val { |
|
77 var err error |
|
78 out[i], err = s.fromString(d) |
|
79 if err != nil { |
|
80 return err |
|
81 } |
|
82 } |
|
83 *s.value = out |
|
84 return nil |
|
85 } |
|
86 |
|
87 func (s *uintSliceValue) GetSlice() []string { |
|
88 out := make([]string, len(*s.value)) |
|
89 for i, d := range *s.value { |
|
90 out[i] = s.toString(d) |
|
91 } |
|
92 return out |
51 } |
93 } |
52 |
94 |
53 func uintSliceConv(val string) (interface{}, error) { |
95 func uintSliceConv(val string) (interface{}, error) { |
54 val = strings.Trim(val, "[]") |
96 val = strings.Trim(val, "[]") |
55 // Empty string would cause a slice with one (empty) entry |
97 // Empty string would cause a slice with one (empty) entry |