diff options
Diffstat (limited to 'vendor/github.com/Unknwon/com/convert.go')
-rw-r--r-- | vendor/github.com/Unknwon/com/convert.go | 157 |
1 files changed, 0 insertions, 157 deletions
diff --git a/vendor/github.com/Unknwon/com/convert.go b/vendor/github.com/Unknwon/com/convert.go deleted file mode 100644 index 25b3e0e5..00000000 --- a/vendor/github.com/Unknwon/com/convert.go +++ /dev/null @@ -1,157 +0,0 @@ -// Copyright 2014 com authors -// -// Licensed under the Apache License, Version 2.0 (the "License"): you may -// not use this file except in compliance with the License. You may obtain -// a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -// License for the specific language governing permissions and limitations -// under the License. - -package com - -import ( - "fmt" - "strconv" -) - -// Convert string to specify type. -type StrTo string - -func (f StrTo) Exist() bool { - return string(f) != string(0x1E) -} - -func (f StrTo) Uint8() (uint8, error) { - v, err := strconv.ParseUint(f.String(), 10, 8) - return uint8(v), err -} - -func (f StrTo) Int() (int, error) { - v, err := strconv.ParseInt(f.String(), 10, 0) - return int(v), err -} - -func (f StrTo) Int64() (int64, error) { - v, err := strconv.ParseInt(f.String(), 10, 64) - return int64(v), err -} - -func (f StrTo) MustUint8() uint8 { - v, _ := f.Uint8() - return v -} - -func (f StrTo) MustInt() int { - v, _ := f.Int() - return v -} - -func (f StrTo) MustInt64() int64 { - v, _ := f.Int64() - return v -} - -func (f StrTo) String() string { - if f.Exist() { - return string(f) - } - return "" -} - -// Convert any type to string. -func ToStr(value interface{}, args ...int) (s string) { - switch v := value.(type) { - case bool: - s = strconv.FormatBool(v) - case float32: - s = strconv.FormatFloat(float64(v), 'f', argInt(args).Get(0, -1), argInt(args).Get(1, 32)) - case float64: - s = strconv.FormatFloat(v, 'f', argInt(args).Get(0, -1), argInt(args).Get(1, 64)) - case int: - s = strconv.FormatInt(int64(v), argInt(args).Get(0, 10)) - case int8: - s = strconv.FormatInt(int64(v), argInt(args).Get(0, 10)) - case int16: - s = strconv.FormatInt(int64(v), argInt(args).Get(0, 10)) - case int32: - s = strconv.FormatInt(int64(v), argInt(args).Get(0, 10)) - case int64: - s = strconv.FormatInt(v, argInt(args).Get(0, 10)) - case uint: - s = strconv.FormatUint(uint64(v), argInt(args).Get(0, 10)) - case uint8: - s = strconv.FormatUint(uint64(v), argInt(args).Get(0, 10)) - case uint16: - s = strconv.FormatUint(uint64(v), argInt(args).Get(0, 10)) - case uint32: - s = strconv.FormatUint(uint64(v), argInt(args).Get(0, 10)) - case uint64: - s = strconv.FormatUint(v, argInt(args).Get(0, 10)) - case string: - s = v - case []byte: - s = string(v) - default: - s = fmt.Sprintf("%v", v) - } - return s -} - -type argInt []int - -func (a argInt) Get(i int, args ...int) (r int) { - if i >= 0 && i < len(a) { - r = a[i] - } else if len(args) > 0 { - r = args[0] - } - return -} - -// HexStr2int converts hex format string to decimal number. -func HexStr2int(hexStr string) (int, error) { - num := 0 - length := len(hexStr) - for i := 0; i < length; i++ { - char := hexStr[length-i-1] - factor := -1 - - switch { - case char >= '0' && char <= '9': - factor = int(char) - '0' - case char >= 'a' && char <= 'f': - factor = int(char) - 'a' + 10 - default: - return -1, fmt.Errorf("invalid hex: %s", string(char)) - } - - num += factor * PowInt(16, i) - } - return num, nil -} - -// Int2HexStr converts decimal number to hex format string. -func Int2HexStr(num int) (hex string) { - if num == 0 { - return "0" - } - - for num > 0 { - r := num % 16 - - c := "?" - if r >= 0 && r <= 9 { - c = string(r + '0') - } else { - c = string(r + 'a' - 10) - } - hex = c + hex - num = num / 16 - } - return hex -} |