Ai
1 Star 1 Fork 0

lihao1988/go-array

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
array_test.go 3.66 KB
一键复制 编辑 原始数据 按行查看 历史
lgmin1988 提交于 2023-02-19 22:53 +08:00 . go array
package array
import (
"fmt"
"testing"
)
type keyValue struct {
key string
value string
}
type PubKeyValue struct {
Key string
Value string
}
// test array column
func TestArrayColumn(t *testing.T) {
/*dataMap := []PubKeyValue{
{Key: "a", Value: "A"},
{Key: "b", Value: "B"},
}*/
/*dataMap := map[string]map[string]string{
"a": {"key": "a", "value": "A"},
"b": {"key": "b", "value": "B"},
}
dest := map[string]string{}*/
dataMap := []map[string]string{
{"key": "a", "value": "A"},
{"key": "b", "value": "B"},
}
dest := map[string]map[string]string{}
Column(&dest, dataMap, "", "value")
fmt.Println(dest)
}
// test array diff
func TestArrayDiff(t *testing.T) {
dataMap := map[string]keyValue{
"a": {key: "a", value: "A"},
"b": {key: "b", value: "B"},
}
dataMap1 := []keyValue{
{key: "c", value: "C"},
{key: "b", value: "B"},
}
dataMap2 := []string{
"a", "b",
}
Diff(&dataMap, dataMap1, dataMap2)
fmt.Println("dataMap", dataMap)
}
// test array intersect
func TestArrayIntersect(t *testing.T) {
dataMap := []keyValue{
{key: "c", value: "C"},
{key: "b", value: "B"},
}
dataMap1 := map[string]keyValue{
"a": {key: "a", value: "A"},
"b": {key: "b", value: "B"},
"c": {key: "c", value: "C"},
}
dataMap2 := []string{
"a", "b",
}
Intersect(&dataMap, dataMap1, &dataMap2)
fmt.Println("dataMap", dataMap)
}
// test in array
func TestInArray(t *testing.T) {
/*data := map[int]string{1: "1"}
dataMap := map[string]map[int]string{
"a": {1: "1"},
"b": {2: "2"},
}*/
/*dataMap := []keyValue{
{key: "a", value: "A"},
{key: "b", value: "B"},
}
data := keyValue{key: "b", value: "A"}*/
dataMap := []string{"a", "b", "c"}
data := "a1"
isExist := In(data, dataMap)
fmt.Println(isExist)
}
// test array array_merge
func TestArrayMergeForSlice(t *testing.T) {
dataMap := []map[int]string{
{1: "1"},
{2: "2"},
}
oDataMap1 := []map[int]string{
{3: "3"},
{4: "4"},
}
Merge(&dataMap, oDataMap1)
fmt.Println(dataMap)
}
// test map array_merge
func TestArrayMergeForMap(t *testing.T) {
dataMap := map[string]map[int]string{
"a": {1: "1"},
"b": {2: "2"},
}
oDataMap1 := map[string]map[int]string{
"c": {3: "3"},
"b": {4: "4"},
}
oDataMap2 := map[string]map[int]string{}
oDataMap3 := map[string]map[int]string{
"e": {5: "5"},
"f": {6: "6"},
}
Merge(&dataMap, &oDataMap1, oDataMap2, oDataMap3)
fmt.Println(dataMap)
}
// test slice array_values
func TestArrayValuesForSlice(t *testing.T) {
dataMap := []map[int]string{
{1: "1", 2: "2"},
{1: "1", 2: "2"},
}
var valueArr []map[int]string
Values(dataMap, &valueArr)
fmt.Println(valueArr)
}
// test Map array_values
func TestArrayValuesForMap(t *testing.T) {
/*dataMap := map[string]keyValue{
"a":{key: "a", value: "A"},
"b":{key: "b", value: "B"},
}*/
dataMap := map[string]map[int]string{
"a": {1: "1", 2: "2"},
"b": {1: "1", 2: "2"},
}
var valueArr []map[int]string
Values(dataMap, &valueArr)
fmt.Println(valueArr)
/*fmt.Println(vValue.Elem().Type().Elem().Name(), dValue.Type().Elem().Name())
fmt.Println(vValue.Elem().Type().Elem().PkgPath(), dValue.Type().Elem().PkgPath())*/
}
// test array_keys
func TestArrayKeysForMap(t *testing.T) {
dataMap := map[string]keyValue{
"a": {key: "a", value: "A"},
"b": {key: "b", value: "B"},
}
var keysArr []string
Keys(dataMap, &keysArr)
fmt.Println(keysArr)
}
// test array_unique
func TestArrayUnique(t *testing.T) {
/*dataMap := map[string]keyValue{
"a": {key: "a", value: "A"},
"b": {key: "b", value: "B"},
"c": {key: "a", value: "A"},
}*/
dataMap := []keyValue{
{key: "a", value: "A"},
{key: "b", value: "B"},
{key: "a", value: "A"},
}
Unique(&dataMap)
fmt.Println(dataMap)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/lihao1988/go-array.git
git@gitee.com:lihao1988/go-array.git
lihao1988
go-array
go-array
master

搜索帮助