diff options
| author | bogem <[email protected]> | 2016-09-10 12:08:47 +0500 |
|---|---|---|
| committer | bogem <[email protected]> | 2016-09-10 12:08:47 +0500 |
| commit | d16d05ecad8d146ef127c975e2e3e167b6e38ad6 (patch) | |
| tree | a13921d2f956128ed2d1c123d89749db36625645 /uint16.go | |
| parent | 6fd2ff4ff8dfcdf5556fbdc0ac0284408274b1a7 (diff) | |
Use strconv instead of fmt in values' String funcs
The existing implementation of flag values with fmt package uses
more memory and works slower than the implementation with strconv
package.
Diffstat (limited to 'uint16.go')
| -rw-r--r-- | uint16.go | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -1,9 +1,6 @@ package pflag -import ( - "fmt" - "strconv" -) +import "strconv" // -- uint16 value type uint16Value uint16 @@ -12,7 +9,7 @@ func newUint16Value(val uint16, p *uint16) *uint16Value { *p = val return (*uint16Value)(p) } -func (i *uint16Value) String() string { return fmt.Sprintf("%d", *i) } + func (i *uint16Value) Set(s string) error { v, err := strconv.ParseUint(s, 0, 16) *i = uint16Value(v) @@ -23,6 +20,8 @@ func (i *uint16Value) Type() string { return "uint16" } +func (i *uint16Value) String() string { return strconv.FormatUint(uint64(*i), 10) } + func uint16Conv(sval string) (interface{}, error) { v, err := strconv.ParseUint(sval, 0, 16) if err != nil { |
