package convertx import ( "bytes" "fmt" "strconv" "strings" ) func Atoi(v string) int { i, _ := strconv.Atoi(v) return i } func Itoa(v int) string { return strconv.Itoa(v) } func Int64ToString(v int64) string { return strconv.FormatInt(v, 10) } func StringToInt64(v string) int64 { int64, _ := strconv.ParseInt(v, 10, 64) return int64 } func StringToUInt(v string) uint { uintNum, _ := strconv.ParseUint(v, 10, 64) return uint(uintNum) } func InterfaceToInt(v interface{}) (i int) { switch v := v.(type) { case int: i = v default: i = 0 } return } func ArrayToString(array []interface{}) string { return strings.Replace(strings.Trim(fmt.Sprint(array), "[]"), " ", ",", -1) } func ArrayToMap(array []string) map[string]bool { m := make(map[string]bool, len(array)) for _, v := range array { m[v] = true } return m } func MapToArray(m map[string]bool) []string { var array []string for k, _ := range m { array = append(array, k) } return array } func ArrayStringToArrayInt(array []string) []int { var m []int for _, v := range array { m = append(m, Atoi(v)) } return m } func ArrayIntToArrayString(array []int) []string { var m []string for _, v := range array { m = append(m, Itoa(v)) } return m } func TrimBom(str string) string { return string(bytes.TrimPrefix([]byte(str), []byte{239, 187, 191})) } func TrimLineBreak(str string) string { str = strings.TrimRight(str, "\n") return strings.TrimRight(str, "\r") }