Skip to content

Latest commit

 

History

History
48 lines (36 loc) · 912 Bytes

README.md

File metadata and controls

48 lines (36 loc) · 912 Bytes

php2go

go实现php的一些数组方法,go版本1.18+,需支持泛型

返回类型由调用指定,舍弃interface{}

type Person struct {
	Id   int    `json:"id"`
	Name string `json:"name"`
	Age  int64  `json:"age"`
}

var ps = []Person{
	{
		Id:   1,
		Name: "n1",
		Age:  101,
	}, {
		Id:   2,
		Name: "n2",
		Age:  102,
	}, {
		Id:   3,
		Name: "n3",
		Age:  103,
	},
}

rr1 := ArrayColumn[int](ps, "Id")
rr1 := ArrayColumn[string](ps, "Name")
rr2 := ArrayColumn[int64](ps, "Age")

rr3 := ArrayReverse([]int64{1, 2, 3, 4, 5})

rr4 := ArraySum[int](ps, "Id")
rr5 := ArraySum[int64]([]int64{1, 2, 3, 4, 5}, "")

rr6 := InArray(6, []int64{1, 2, 3, 4, 5})

rr7 := ArrayIntersect([]int64{1, 2, 3, 4, 5}, []int64{33, 109})

rr8 := ArrayDiff([]int64{1, 2, 3, 4, 5}, []int64{33, 109, 4})

rr9 := ArrayUnique([]string{"a", "b", "c", "a", "b", "d"})

rr10 := SliceRemove[Person](ps, []int{3, 2, 4, 0})