123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- package otherutils
- import (
- "encoding/json"
- "fmt"
- "strconv"
- "strings"
- )
- // 判断一个int类型的值是否在一个数组或者切片中
- func ArrayExistInt(value int, array []int) bool {
- for _, v := range array {
- if value == v {
- return true
- }
- }
- return false
- }
- // 判断一个int32类型的值是否在一个数组或者切片中
- func ArrayExistInt32(value int32, array []int32) bool {
- for _, v := range array {
- if value == v {
- return true
- }
- }
- return false
- }
- // 判断一个int64类型的值是否在一个数组或者切片中
- func ArrayExistInt64(value int64, array []int64) bool {
- for _, v := range array {
- if value == v {
- return true
- }
- }
- return false
- }
- // 判断一个string类型的值是否在一个数组或者切片中
- func ArrayExistString(value string, array []string) bool {
- for _, v := range array {
- if value == v {
- return true
- }
- }
- return false
- }
- // 返回分割后转换为string
- func StringSplitString(s, sep string) ([]string, error) {
- ret := make([]string, 0)
- str := strings.Split(s, sep)
- for _, v := range str {
- if v != "" {
- ret = append(ret, v)
- }
- }
- return ret, nil
- }
- // 返回分割后转换为int
- func StringSplitInt(s, sep string) ([]int, error) {
- ret := make([]int, 0)
- str := strings.Split(s, sep)
- for _, v := range str {
- if v != "" {
- value, err := strconv.Atoi(v)
- if err != nil {
- return ret, err
- }
- ret = append(ret, value)
- }
- }
- return ret, nil
- }
- // 返回分割后转换为int64
- func StringSplitInt64(s, sep string) ([]int64, error) {
- ret := make([]int64, 0)
- str := strings.Split(s, sep)
- for _, v := range str {
- if v != "" {
- value, err := strconv.ParseInt(v, 10, 64)
- if err != nil {
- return ret, err
- }
- ret = append(ret, value)
- }
- }
- return ret, nil
- }
- // []string后转换为[]int64
- func ArrStringConvertArrInt64(s []string) ([]int64, error) {
- ret := make([]int64, 0)
- for _, v := range s {
- if v != "" {
- value, err := strconv.ParseInt(v, 10, 64)
- if err != nil {
- return ret, err
- }
- ret = append(ret, value)
- }
- }
- return ret, nil
- }
- // []Int64后转换为[]string
- func ArrInt64ConvertArrString(s []int64) []string {
- ret := make([]string, 0)
- for _, v := range s {
- value := strconv.FormatInt(v, 10)
- ret = append(ret, value)
- }
- return ret
- }
- // 获取key
- func GetKey(a int, b int) string {
- return fmt.Sprintf("%v:%v", a, b)
- }
- // 获取keys
- func GetKeys(a int, b int, c int) string {
- return fmt.Sprintf("%v:%v:%v", a, b, c)
- }
- func DumpToJSON(s interface{}) string {
- marshal, err := json.Marshal(s)
- if err != nil {
- return err.Error()
- }
- return string(marshal)
- }
|