优化代码

This commit is contained in:
白茶清欢 2023-08-11 13:49:14 +08:00
parent 1e901000e9
commit 65186fe23b

View File

@ -15,25 +15,25 @@ import (
"strings"
)
// Array 数组实例
// ArrayType 数组实例
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 21:03 2023/6/11
func Array(value interface{}) *ArrayType {
at := &ArrayType{
func ArrayType(value interface{}) *Array {
at := &Array{
value: value,
}
at.Convert()
_, _ = at.Convert()
return at
}
// ArrayType ...
// Array ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 21:05 2023/6/11
type ArrayType struct {
type Array struct {
value interface{}
convertResult []interface{}
convertErr error
@ -46,7 +46,7 @@ type ArrayType struct {
// Author : go_developer@163.com<白茶清欢>
//
// Date : 21:11 2023/6/11
func (at *ArrayType) IsNil() bool {
func (at *Array) IsNil() bool {
return at.value == nil
}
@ -55,7 +55,7 @@ func (at *ArrayType) IsNil() bool {
// Author : go_developer@163.com<白茶清欢>
//
// Date : 21:06 2023/6/11
func (at *ArrayType) IsValid() bool {
func (at *Array) IsValid() bool {
if at.IsNil() {
return false
}
@ -71,7 +71,7 @@ func (at *ArrayType) IsValid() bool {
// Author : go_developer@163.com<白茶清欢>
//
// Date : 21:20 2023/6/11
func (at *ArrayType) ItemIsInterface() bool {
func (at *Array) ItemIsInterface() bool {
if !at.IsValid() {
return false
}
@ -86,7 +86,7 @@ func (at *ArrayType) ItemIsInterface() bool {
// Author : go_developer@163.com<白茶清欢>
//
// Date : 17:59 2023/6/12
func (at *ArrayType) Convert() ([]interface{}, error) {
func (at *Array) Convert() ([]interface{}, error) {
if at.IsNil() {
// 空指针
at.convertResult = make([]interface{}, 0)
@ -200,9 +200,7 @@ func (at *ArrayType) Convert() ([]interface{}, error) {
at.isSimpleSlice = false
at.itemType = reflect.Interface
at.convertResult = make([]interface{}, len(val))
for i := 0; i < len(val); i++ {
at.convertResult[i] = val[i]
}
copy(at.convertResult, val)
}
return at.convertResult, nil
}
@ -212,7 +210,7 @@ func (at *ArrayType) Convert() ([]interface{}, error) {
// Author : go_developer@163.com<白茶清欢>
//
// Date : 18:07 2023/6/26
func (at *ArrayType) ConvertIgnoreError() []interface{} {
func (at *Array) ConvertIgnoreError() []interface{} {
res, _ := at.Convert()
return res
}
@ -222,7 +220,7 @@ func (at *ArrayType) ConvertIgnoreError() []interface{} {
// Author : go_developer@163.com<白茶清欢>
//
// Date : 17:43 2023/6/12
func (at *ArrayType) Unique() []interface{} {
func (at *Array) Unique() []interface{} {
result := make([]interface{}, 0)
if at.isSimpleSlice {
// 简单数据类型
@ -245,7 +243,7 @@ func (at *ArrayType) Unique() []interface{} {
// Author : go_developer@163.com<白茶清欢>
//
// Date : 16:28 2023/7/31
func (at *ArrayType) In(input interface{}) int {
func (at *Array) In(input interface{}) int {
for idx := 0; idx < len(at.convertResult); idx++ {
if nil == input {
if nil != at.convertResult[idx] {