// Package op_string ... // // Description : op_string ... // // Author : go_developer@163.com<白茶清欢> // // Date : 2025-10-13 14:21 package op_string import ( "strings" "git.zhangdeman.cn/zhangdeman/op_type" "git.zhangdeman.cn/zhangdeman/serialize" "git.zhangdeman.cn/zhangdeman/wrapper/define" ) // ToBaseTypeSlice 基础数据类型的列表 // splitChar 没有用字符串表示的原因: 存在场景, 使用空字符串风格字符串, 空字符串是有意义的 func ToBaseTypeSlice[BaseTpe op_type.BaseType](str string, splitChar ...string) define.BaseValueSliceResult[BaseTpe] { var ( err error sliceValue []BaseTpe ) if len(splitChar) == 0 { // 序列化数组直接转换 if err = serialize.JSON.UnmarshalWithNumberForString(str, &sliceValue); nil != err { return define.BaseValueSliceResult[BaseTpe]{Value: []BaseTpe{}, Err: err} } return define.BaseValueSliceResult[BaseTpe]{Value: sliceValue, Err: nil} } // 按照分隔符转换 strArr := strings.Split(str, splitChar[0]) for _, v := range strArr { itemConvertRes := ToBaseValue[BaseTpe](v) if nil != itemConvertRes.Err { return define.BaseValueSliceResult[BaseTpe]{Value: []BaseTpe{}, Err: err} } sliceValue = append(sliceValue, itemConvertRes.Value) } return define.BaseValueSliceResult[BaseTpe]{Value: sliceValue, Err: nil} }