优化代码

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