婷婷综合国产,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包對任意類型元素的集合進行排序的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 深州市| 新昌县| 普宁市| 安乡县| 包头市| 玛纳斯县| 湾仔区| 桃源县| 台前县| 兴业县| 福建省| 莱芜市| 宜章县| 彩票| 宣汉县| 眉山市| 台湾省| 札达县| 兴和县| 横山县| 陕西省| 盐池县| 修水县| 靖州| 城口县| 新巴尔虎左旗| 奈曼旗| 渝中区| 垦利县| 肇源县| 将乐县| 平武县| 安多县| 铁岭县| 泰州市| 勃利县| 鹤壁市| 麟游县| 电白县| 孟连| 益阳市|