增加是否有效数组判断

This commit is contained in:
白茶清欢 2023-06-11 21:17:27 +08:00
parent 9090051eef
commit bd989696a1
2 changed files with 76 additions and 0 deletions

58
array.go Normal file
View File

@ -0,0 +1,58 @@
// Package wrapper ...
//
// Description : wrapper ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2023-06-11 21:02
package wrapper
import (
"encoding/json"
"strings"
)
// Array 数组实例
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 21:03 2023/6/11
func Array(value interface{}) *ArrayType {
return &ArrayType{
value: value,
}
}
// ArrayType ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 21:05 2023/6/11
type ArrayType struct {
value interface{}
}
// IsNil 输入是否为nil
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 21:11 2023/6/11
func (at *ArrayType) IsNil() bool {
return at.value == nil
}
// IsValid 检测是否为数组类型
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 21:06 2023/6/11
func (at *ArrayType) IsValid() bool {
if at.IsNil() {
return false
}
byteData, err := json.Marshal(at.value)
if nil != err {
return false
}
return strings.HasPrefix(string(byteData), "[") && strings.HasSuffix(string(byteData), "]")
}

18
array_test.go Normal file
View File

@ -0,0 +1,18 @@
// Package wrapper ...
//
// Description : wrapper ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2023-06-11 21:12
package wrapper
import (
"fmt"
"testing"
)
func TestArray(t *testing.T) {
val := []int64{1, 2, 3}
fmt.Println(Array(val).IsValid())
}