婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Go語言使用sort包對任意類型元素的集合進行排序的方法

Go語言使用sort包對任意類型元素的集合進行排序的方法

熱門標簽:外呼系統多少錢一年 旅游廁所如何電子地圖標注 滁州自建外呼系統 客服級電銷機器人 工商信用卡外呼系統教程 智能營銷軟件 經常接到推銷電話機器人的電話 海外照相館地圖標注入駐 外呼系統如何接收服務密碼

本文實例講述了Go語言使用sort包對任意類型元素的集合進行排序的方法。分享給大家供大家參考。具體如下:

使用sort包的函數進行排序時,集合需要實現sort.Inteface接口,該接口中有三個方法:

復制代碼 代碼如下:
// Len is the number of elements in the collection. 
Len() int 
// Less reports whether the element with 
// index i should sort before the element with index j. 
Less(i, j int) bool 
// Swap swaps the elements with indexes i and j. 
Swap(i, j int)

以下為簡單示例:

復制代碼 代碼如下:
//對任意對象進行排序 
type Person struct { 
    name string 
    age  int 

 
//為*Person添加String()方法,便于輸出 
func (p *Person) String() string { 
    return fmt.Sprintf("( %s,%d )", p.name, p.age) 

 
type PersonList []*Person 
 
//排序規則:首先按年齡排序(由小到大),年齡相同時按姓名進行排序(按字符串的自然順序) 
 
func (list PersonList) Len() int { 
    return len(list) 

 
func (list PersonList) Less(i, j int) bool { 
    if list[i].age list[j].age { 
        return true 
    } else if list[i].age > list[j].age { 
        return false 
    } else { 
        return list[i].name list[j].name 
    } 

 
func (list PersonList) Swap(i, j int) { 
    var temp *Person = list[i] 
    list[i] = list[j] 
    list[j] = temp 

 
func interfaceTest0203() { 
    fmt.Println("------") 
    p1 := Person{"Tom", 19} 
    p2 := Person{"Hanks", 19} 
    p3 := Person{"Amy", 19} 
    p4 := Person{"Tom", 20} 
    p5 := Person{"Jogn", 21} 
    p6 := Person{"Mike", 23} 
 
    pList := PersonList([]*Person{p1, p2, p3, p4, p5, p6}) 
    sort.Sort(pList) 
    fmt.Println(pList) 
 
    /*output: 
    [( Amy,19 ) ( Hanks,19 ) ( Tom,19 ) ( Tom,20 ) ( Jogn,21 ) ( Mike,23 )] */ 
}

希望本文所述對大家的Go語言程序設計有所幫助。

您可能感興趣的文章:
  • golang使用sort接口實現排序示例
  • go語言中sort包的實現方法與應用詳解
  • go語言中排序sort的使用方法示例

標簽:湘潭 深圳 喀什 運城 本溪 晉城 九江 楚雄

巨人網絡通訊聲明:本文標題《Go語言使用sort包對任意類型元素的集合進行排序的方法》,本文關鍵詞  語言,使用,sort,包,對,任意,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Go語言使用sort包對任意類型元素的集合進行排序的方法》相關的同類信息!
  • 本頁收集關于Go語言使用sort包對任意類型元素的集合進行排序的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 拜城县| 临邑县| 军事| 黄山市| 屯昌县| 鲁甸县| 通山县| 曲靖市| 兰坪| 文昌市| 乐清市| 华容县| 乌恰县| 定安县| 姜堰市| 甘德县| 修水县| 牙克石市| 宁陵县| 若羌县| 永靖县| 阳曲县| 承德市| 高碑店市| 玉溪市| 阿勒泰市| 株洲县| 永康市| 汾西县| 巴青县| 武汉市| 武安市| 荥阳市| 清涧县| 博爱县| 闽清县| 辉县市| 调兵山市| 登封市| 赣州市| 酉阳|