时间:2021-05-22
我就废话不多说了,大家还是直接看代码 吧~
package mainimport ( "fmt" "sort")type Person struct { Name string Age int}func main() { p1 := Person{"Tom",20} p2 := Person{"Lily",21} p3 := Person{"Linda",23} p4 := Person{"Jass",25} p5 := Person{"Tonny",20} p6 := Person{"Pite",25} p7 := Person{"Paul",21} p8 := Person{"Kriss",27} p9 := Person{"Jake",23} p10 := Person{"Rose",20} personList := []Person{} personList = append(personList,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10) fmt.Println("分组前的数据:",personList) fmt.Println("分组后的数据:",splitSlice(personList))}//按某个字段排序type sortByAge []Personfunc (s sortByAge) Len() int { return len(s) }func (s sortByAge) Swap(i, j int) { s[i], s[j] = s[j], s[i] }func (s sortByAge) Less(i, j int) bool { return s[i].Age < s[j].Age}//切片分组func splitSlice(list []Person) [][]Person { sort.Sort(sortByAge(list)) returnData := make([][]Person,0) i:= 0 var j int for { if i >= len(list) { break } for j = i + 1; j< len(list) && list[i].Age == list [j].Age; j++ {} returnData = append(returnData,list[i:j]) i = j } return returnData}打印结果如下:
分组前的数据:
[{Tom 20} {Lily 21} {Linda 23} {Jass 25} {Tonny 20} {Pite 25} {Paul 21} {Kriss 27} {Jake 23} {Rose 20}]
分组后的数据:
[[{Tom 20} {Rose 20} {Tonny 20}] [{Lily 21} {Paul 21}] [{Linda 23} {Jake 23}] [{Pite 25} {Jass 25}][{Kriss 27}]]
补充:golang分组和枚举
我就废话不多说了,大家还是直接看代码吧~
package main//同时导入多个包//import “fmt”//import “errors”//同时声明多个常量或者变量,那么可以简化为下面这种分组声明的方式//const PI float32 = 3.14//const NAME string = “hello”//分组声明import(“fmt”“errors”)//常量声明大写哈,和c/c++一样const(PI = 3.14NAME = “HELLO”)//枚举enum,和c/c++一样哈都是从0开始// iota枚举,默认等于0,同一个分组内没声明一个变量那么iota加1 所以 y=1, z=2, j = 5const(// x = iota// y = iota// z = iotax = iotay = iotaz = 6k pj = iota)// 遇到一个新的const emun,那么iota就会重置为0,所以h = 0const(h = iota)//golang设计原则//大写字母开头的变量,则能被其他包使用的,小写字母开头的变量只能当前包使用拉//函数也是拉,大写可以被其他包使用,小写只能当前包使用.func main() {err := errors.New(“hello”)fmt.Println(err)//x=0 y=1 z=2 h=0// x=0 y=1 z=6 h=0 k=6 j=5fmt.Printf("x=%d y=%d z=%d h=%d k=%d j=%d\n", x,y,z,h,k,j)}以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
我们经常拿到一个二维数组出来,会发现结果和自己想要的有些偏差,可能需要根据二维数组里的某个字段对数组分组。先来看以下数组,Array([0]=>Array([i
本文实例讲述了PHP实现数组根据某个字段进行水平合并,横向合并。分享给大家供大家参考,具体如下:PHP数组水平合并,横向合并,两条数据合并成一行需求将两个素组中
mysql根据多个字段查找在mysql中,如果要实现根据某个字段排序的时候,可以使用下面的SQL语句SELECT*FROM'TABLE_NAME'ORDERBY
PHP数组排序可以用array_multisort方法实现,但是如果是多维数组,并且我们要指定数组中的某个字段进行排序,那么这就需要我们自己写方法实现了。本文分
list按照元素的某个字段去重@Data@AllArgsConstructor@NoArgsConstructorpublicclassStudent{priv