优化代码
This commit is contained in:
parent
1e901000e9
commit
65186fe23b
30
array.go
30
array.go
@ -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] {
|
||||||
|
Loading…
Reference in New Issue
Block a user