remove string conver
This commit is contained in:
parent
f83b4208ad
commit
17efb38b18
4
init.go
4
init.go
@ -40,8 +40,6 @@ var (
|
|||||||
Console *console
|
Console *console
|
||||||
// Browser 浏览器操作实例
|
// Browser 浏览器操作实例
|
||||||
Browser *browser
|
Browser *browser
|
||||||
// StringConvert 字符串转为任意类型
|
|
||||||
StringConvert *stringConvert
|
|
||||||
// PinYin 汉字转拼音
|
// PinYin 汉字转拼音
|
||||||
PinYin *pinYin
|
PinYin *pinYin
|
||||||
)
|
)
|
||||||
@ -71,7 +69,5 @@ func init() {
|
|||||||
"linux": "xdg-open",
|
"linux": "xdg-open",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
// StringConvert
|
|
||||||
StringConvert = &stringConvert{}
|
|
||||||
PinYin = &pinYin{}
|
PinYin = &pinYin{}
|
||||||
}
|
}
|
||||||
|
@ -1,653 +0,0 @@
|
|||||||
// Package util ...
|
|
||||||
//
|
|
||||||
// Description : util ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 2023-05-04 18:25
|
|
||||||
package util
|
|
||||||
|
|
||||||
import (
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
|
||||||
)
|
|
||||||
|
|
||||||
type stringConvert struct {
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToFloat32 ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 18:26 2023/5/4
|
|
||||||
func (sc *stringConvert) ToFloat32(str string) (float32, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res float32
|
|
||||||
)
|
|
||||||
err = ConvertAssign(&res, str)
|
|
||||||
return res, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToFloat64 ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 18:26 2023/5/4
|
|
||||||
func (sc *stringConvert) ToFloat64(str string) (float64, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res float64
|
|
||||||
)
|
|
||||||
err = ConvertAssign(&res, str)
|
|
||||||
return res, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToDouble 转double
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 18:33 2023/5/4
|
|
||||||
func (sc *stringConvert) ToDouble(str string) (float64, error) {
|
|
||||||
return sc.ToFloat64(str)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToNumber 转数字, 使用最高精度的float64
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 18:33 2023/5/4
|
|
||||||
func (sc *stringConvert) ToNumber(str string) (float64, error) {
|
|
||||||
return sc.ToFloat64(str)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToInt8 ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 18:29 2023/5/4
|
|
||||||
func (sc *stringConvert) ToInt8(str string) (int8, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res int8
|
|
||||||
)
|
|
||||||
err = ConvertAssign(&res, str)
|
|
||||||
return res, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToInt16 ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 18:29 2023/5/4
|
|
||||||
func (sc *stringConvert) ToInt16(str string) (int16, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res int16
|
|
||||||
)
|
|
||||||
err = ConvertAssign(&res, str)
|
|
||||||
return res, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToInt32 ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 18:29 2023/5/4
|
|
||||||
func (sc *stringConvert) ToInt32(str string) (int32, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res int32
|
|
||||||
)
|
|
||||||
err = ConvertAssign(&res, str)
|
|
||||||
return res, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToInt64 ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 18:29 2023/5/4
|
|
||||||
func (sc *stringConvert) ToInt64(str string) (int64, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res int64
|
|
||||||
)
|
|
||||||
err = ConvertAssign(&res, str)
|
|
||||||
return res, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToInt ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 10:47 2023/5/5
|
|
||||||
func (sc *stringConvert) ToInt(str string) (int, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res int
|
|
||||||
)
|
|
||||||
err = ConvertAssign(&res, str)
|
|
||||||
return res, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToUint8 ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 18:30 2023/5/4
|
|
||||||
func (sc *stringConvert) ToUint8(str string) (uint8, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res uint8
|
|
||||||
)
|
|
||||||
err = ConvertAssign(&res, str)
|
|
||||||
return res, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToUint16 ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 18:29 2023/5/4
|
|
||||||
func (sc *stringConvert) ToUint16(str string) (uint16, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res uint16
|
|
||||||
)
|
|
||||||
err = ConvertAssign(&res, str)
|
|
||||||
return res, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToUint32 ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 18:29 2023/5/4
|
|
||||||
func (sc *stringConvert) ToUint32(str string) (uint32, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res uint32
|
|
||||||
)
|
|
||||||
err = ConvertAssign(&res, str)
|
|
||||||
return res, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToUint64 ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 18:29 2023/5/4
|
|
||||||
func (sc *stringConvert) ToUint64(str string) (uint64, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res uint64
|
|
||||||
)
|
|
||||||
err = ConvertAssign(&res, str)
|
|
||||||
return res, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToUint ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 18:29 2023/5/4
|
|
||||||
func (sc *stringConvert) ToUint(str string) (uint, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res uint
|
|
||||||
)
|
|
||||||
err = ConvertAssign(&res, str)
|
|
||||||
return res, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToBool ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 18:34 2023/5/4
|
|
||||||
func (sc *stringConvert) ToBool(str string) (bool, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res bool
|
|
||||||
)
|
|
||||||
err = ConvertAssign(&res, str)
|
|
||||||
return res, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToObject ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 18:35 2023/5/4
|
|
||||||
func (sc *stringConvert) ToObject(str string) (map[string]interface{}, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
result map[string]interface{}
|
|
||||||
)
|
|
||||||
if err = JSON.UnmarshalWithNumber([]byte(str), &result); nil != err {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return result, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToStruct ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 18:38 2023/5/4
|
|
||||||
func (sc *stringConvert) ToStruct(str string, receiver interface{}) error {
|
|
||||||
if nil == receiver {
|
|
||||||
return errors.New("receiver is nil")
|
|
||||||
}
|
|
||||||
return JSON.UnmarshalWithNumber([]byte(str), receiver)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToInt8Slice ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 18:55 2023/5/4
|
|
||||||
func (sc *stringConvert) ToInt8Slice(str string, splitChar ...string) ([]int8, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res []int8
|
|
||||||
)
|
|
||||||
|
|
||||||
isSplit := len(splitChar) > 0
|
|
||||||
if !isSplit {
|
|
||||||
if err = JSON.UnmarshalWithNumber([]byte(str), &res); nil != err {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
res = make([]int8, 0)
|
|
||||||
arr := strings.Split(str, splitChar[0])
|
|
||||||
for _, item := range arr {
|
|
||||||
if itemVal, err := sc.ToInt8(item); nil != err {
|
|
||||||
return nil, err
|
|
||||||
} else {
|
|
||||||
res = append(res, itemVal)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToInt16Slice ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 19:01 2023/5/4
|
|
||||||
func (sc *stringConvert) ToInt16Slice(str string, splitChar ...string) ([]int16, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res []int16
|
|
||||||
)
|
|
||||||
|
|
||||||
isSplit := len(splitChar) > 0
|
|
||||||
if !isSplit {
|
|
||||||
if err = JSON.UnmarshalWithNumber([]byte(str), &res); nil != err {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
res = make([]int16, 0)
|
|
||||||
arr := strings.Split(str, splitChar[0])
|
|
||||||
for _, item := range arr {
|
|
||||||
if itemVal, err := sc.ToInt16(item); nil != err {
|
|
||||||
return nil, err
|
|
||||||
} else {
|
|
||||||
res = append(res, itemVal)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToInt32Slice ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 19:03 2023/5/4
|
|
||||||
func (sc *stringConvert) ToInt32Slice(str string, splitChar ...string) ([]int32, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res []int32
|
|
||||||
)
|
|
||||||
|
|
||||||
isSplit := len(splitChar) > 0
|
|
||||||
if !isSplit {
|
|
||||||
if err = JSON.UnmarshalWithNumber([]byte(str), &res); nil != err {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
res = make([]int32, 0)
|
|
||||||
arr := strings.Split(str, splitChar[0])
|
|
||||||
for _, item := range arr {
|
|
||||||
if itemVal, err := sc.ToInt32(item); nil != err {
|
|
||||||
return nil, err
|
|
||||||
} else {
|
|
||||||
res = append(res, itemVal)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToInt64Slice ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 19:04 2023/5/4
|
|
||||||
func (sc *stringConvert) ToInt64Slice(str string, splitChar ...string) ([]int64, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res []int64
|
|
||||||
)
|
|
||||||
|
|
||||||
isSplit := len(splitChar) > 0
|
|
||||||
if !isSplit {
|
|
||||||
if err = JSON.UnmarshalWithNumber([]byte(str), &res); nil != err {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
res = make([]int64, 0)
|
|
||||||
arr := strings.Split(str, splitChar[0])
|
|
||||||
for _, item := range arr {
|
|
||||||
if itemVal, err := sc.ToInt64(item); nil != err {
|
|
||||||
return nil, err
|
|
||||||
} else {
|
|
||||||
res = append(res, itemVal)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToIntSlice ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 19:04 2023/5/4
|
|
||||||
func (sc *stringConvert) ToIntSlice(str string, splitChar ...string) ([]int, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res []int
|
|
||||||
)
|
|
||||||
|
|
||||||
isSplit := len(splitChar) > 0
|
|
||||||
if !isSplit {
|
|
||||||
if err = JSON.UnmarshalWithNumber([]byte(str), &res); nil != err {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
res = make([]int, 0)
|
|
||||||
arr := strings.Split(str, splitChar[0])
|
|
||||||
for _, item := range arr {
|
|
||||||
if itemVal, err := sc.ToInt(item); nil != err {
|
|
||||||
return nil, err
|
|
||||||
} else {
|
|
||||||
res = append(res, itemVal)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToUint8Slice ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 10:50 2023/5/5
|
|
||||||
func (sc *stringConvert) ToUint8Slice(str string, splitChar ...string) ([]uint8, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res []uint8
|
|
||||||
)
|
|
||||||
|
|
||||||
isSplit := len(splitChar) > 0
|
|
||||||
if !isSplit {
|
|
||||||
if err = JSON.UnmarshalWithNumber([]byte(str), &res); nil != err {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
res = make([]uint8, 0)
|
|
||||||
arr := strings.Split(str, splitChar[0])
|
|
||||||
for _, item := range arr {
|
|
||||||
if itemVal, err := sc.ToUint8(item); nil != err {
|
|
||||||
return nil, err
|
|
||||||
} else {
|
|
||||||
res = append(res, itemVal)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToUint16Slice ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 10:52 2023/5/5
|
|
||||||
func (sc *stringConvert) ToUint16Slice(str string, splitChar ...string) ([]uint16, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res []uint16
|
|
||||||
)
|
|
||||||
|
|
||||||
isSplit := len(splitChar) > 0
|
|
||||||
if !isSplit {
|
|
||||||
if err = JSON.UnmarshalWithNumber([]byte(str), &res); nil != err {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
res = make([]uint16, 0)
|
|
||||||
arr := strings.Split(str, splitChar[0])
|
|
||||||
for _, item := range arr {
|
|
||||||
if itemVal, err := sc.ToUint16(item); nil != err {
|
|
||||||
return nil, err
|
|
||||||
} else {
|
|
||||||
res = append(res, itemVal)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToUint32Slice ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 10:53 2023/5/5
|
|
||||||
func (sc *stringConvert) ToUint32Slice(str string, splitChar ...string) ([]uint32, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res []uint32
|
|
||||||
)
|
|
||||||
|
|
||||||
isSplit := len(splitChar) > 0
|
|
||||||
if !isSplit {
|
|
||||||
if err = JSON.UnmarshalWithNumber([]byte(str), &res); nil != err {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
res = make([]uint32, 0)
|
|
||||||
arr := strings.Split(str, splitChar[0])
|
|
||||||
for _, item := range arr {
|
|
||||||
if itemVal, err := sc.ToUint32(item); nil != err {
|
|
||||||
return nil, err
|
|
||||||
} else {
|
|
||||||
res = append(res, itemVal)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToUint64Slice ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 10:54 2023/5/5
|
|
||||||
func (sc *stringConvert) ToUint64Slice(str string, splitChar ...string) ([]uint64, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res []uint64
|
|
||||||
)
|
|
||||||
|
|
||||||
isSplit := len(splitChar) > 0
|
|
||||||
if !isSplit {
|
|
||||||
if err = JSON.UnmarshalWithNumber([]byte(str), &res); nil != err {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
res = make([]uint64, 0)
|
|
||||||
arr := strings.Split(str, splitChar[0])
|
|
||||||
for _, item := range arr {
|
|
||||||
if itemVal, err := sc.ToUint64(item); nil != err {
|
|
||||||
return nil, err
|
|
||||||
} else {
|
|
||||||
res = append(res, itemVal)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToUintSlice ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 10:54 2023/5/5
|
|
||||||
func (sc *stringConvert) ToUintSlice(str string, splitChar ...string) ([]uint, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res []uint
|
|
||||||
)
|
|
||||||
|
|
||||||
isSplit := len(splitChar) > 0
|
|
||||||
if !isSplit {
|
|
||||||
if err = JSON.UnmarshalWithNumber([]byte(str), &res); nil != err {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
res = make([]uint, 0)
|
|
||||||
arr := strings.Split(str, splitChar[0])
|
|
||||||
for _, item := range arr {
|
|
||||||
if itemVal, err := sc.ToUint(item); nil != err {
|
|
||||||
return nil, err
|
|
||||||
} else {
|
|
||||||
res = append(res, itemVal)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToBoolSlice ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 10:55 2023/5/5
|
|
||||||
func (sc *stringConvert) ToBoolSlice(str string, splitChar ...string) ([]bool, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res []bool
|
|
||||||
)
|
|
||||||
|
|
||||||
isSplit := len(splitChar) > 0
|
|
||||||
if !isSplit {
|
|
||||||
if err = JSON.UnmarshalWithNumber([]byte(str), &res); nil != err {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
res = make([]bool, 0)
|
|
||||||
arr := strings.Split(str, splitChar[0])
|
|
||||||
for _, item := range arr {
|
|
||||||
if itemVal, err := sc.ToBool(item); nil != err {
|
|
||||||
return nil, err
|
|
||||||
} else {
|
|
||||||
res = append(res, itemVal)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToFloat32Slice ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 10:56 2023/5/5
|
|
||||||
func (sc *stringConvert) ToFloat32Slice(str string, splitChar ...string) ([]float32, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res []float32
|
|
||||||
)
|
|
||||||
|
|
||||||
isSplit := len(splitChar) > 0
|
|
||||||
if !isSplit {
|
|
||||||
if err = JSON.UnmarshalWithNumber([]byte(str), &res); nil != err {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
res = make([]float32, 0)
|
|
||||||
arr := strings.Split(str, splitChar[0])
|
|
||||||
for _, item := range arr {
|
|
||||||
if itemVal, err := sc.ToFloat32(item); nil != err {
|
|
||||||
return nil, err
|
|
||||||
} else {
|
|
||||||
res = append(res, itemVal)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToFloat64Slice ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 10:56 2023/5/5
|
|
||||||
func (sc *stringConvert) ToFloat64Slice(str string, splitChar ...string) ([]float64, error) {
|
|
||||||
var (
|
|
||||||
err error
|
|
||||||
res []float64
|
|
||||||
)
|
|
||||||
|
|
||||||
isSplit := len(splitChar) > 0
|
|
||||||
if !isSplit {
|
|
||||||
if err = JSON.UnmarshalWithNumber([]byte(str), &res); nil != err {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
res = make([]float64, 0)
|
|
||||||
arr := strings.Split(str, splitChar[0])
|
|
||||||
for _, item := range arr {
|
|
||||||
if itemVal, err := sc.ToFloat64(item); nil != err {
|
|
||||||
return nil, err
|
|
||||||
} else {
|
|
||||||
res = append(res, itemVal)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToDoubleSlice ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 10:57 2023/5/5
|
|
||||||
func (sc *stringConvert) ToDoubleSlice(str string, splitChar ...string) ([]float64, error) {
|
|
||||||
return sc.ToFloat64Slice(str, splitChar...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ToNumberSlice ...
|
|
||||||
//
|
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
|
||||||
//
|
|
||||||
// Date : 10:57 2023/5/5
|
|
||||||
func (sc *stringConvert) ToNumberSlice(str string, splitChar ...string) ([]float64, error) {
|
|
||||||
return sc.ToFloat64Slice(str, splitChar...)
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user