日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Go 語言中排序的三種方法

來源: 責編: 時間:2023-08-20 23:17:15 3561觀看
導(dǎo)讀在寫代碼過程中,排序是經(jīng)常會遇到的需求,本文會介紹三種常用的方法。廢話不多說,下面正文開始。使用標準庫根據(jù)場景直接使用標準庫中的方法,比如:sort.Intssort.Float64ssort.Strings舉個例子:s := []int{4, 2, 3, 1}sort.I

Fhe28資訊網(wǎng)——每日最新資訊28at.com

在寫代碼過程中,排序是經(jīng)常會遇到的需求,本文會介紹三種常用的方法。Fhe28資訊網(wǎng)——每日最新資訊28at.com

廢話不多說,下面正文開始。Fhe28資訊網(wǎng)——每日最新資訊28at.com

使用標準庫

根據(jù)場景直接使用標準庫中的方法,比如:Fhe28資訊網(wǎng)——每日最新資訊28at.com

  • sort.Ints
  • sort.Float64s
  • sort.Strings

舉個例子:Fhe28資訊網(wǎng)——每日最新資訊28at.com

s := []int{4, 2, 3, 1}sort.Ints(s)fmt.Println(s) // [1 2 3 4]

自定義比較器

使用 sort.Slice 方法排序時,可以自定義比較函數(shù) less(i, j int) bool,這樣就可以根據(jù)需要按不同的字段進行排序。Fhe28資訊網(wǎng)——每日最新資訊28at.com

如果想要穩(wěn)定排序的話,就使用 sort.SliceStable 方法。Fhe28資訊網(wǎng)——每日最新資訊28at.com

舉個例子:Fhe28資訊網(wǎng)——每日最新資訊28at.com

family := []struct {    Name string    Age  int}{    {"Alice", 23},    {"David", 2},    {"Eve", 2},    {"Bob", 25},}// Sort by age, keeping original order or equal elements.sort.SliceStable(family, func(i, j int) bool {    return family[i].Age < family[j].Age})fmt.Println(family) // [{David 2} {Eve 2} {Alice 23} {Bob 25}]

自定義數(shù)據(jù)結(jié)構(gòu)

使用 sort.Sort 或者 sort.Stable 方法,它們可以對任意實現(xiàn)了 sort.Interface 的數(shù)據(jù)結(jié)構(gòu)排序。Fhe28資訊網(wǎng)——每日最新資訊28at.com

type Interface interface {    // 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)}

意思就是說,只要某一個數(shù)據(jù)結(jié)構(gòu)實現(xiàn)了 Len() int,Less(i, j int) bool 和 Swap(i, j int) 這三個方法,那么就可以使用 sort.Sort 來排序。Fhe28資訊網(wǎng)——每日最新資訊28at.com

舉個例子:Fhe28資訊網(wǎng)——每日最新資訊28at.com

type Person struct {    Name string    Age  int}// ByAge implements sort.Interface based on the Age field.type ByAge []Personfunc (a ByAge) Len() int           { return len(a) }func (a ByAge) Less(i, j int) bool { return a[i].Age < a[j].Age }func (a ByAge) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }func main() {    family := []Person{        {"Alice", 23},        {"Eve", 2},        {"Bob", 25},    }    sort.Sort(ByAge(family))    fmt.Println(family) // [{Eve 2} {Alice 23} {Bob 25}]}

字典排序

我們都知道,字典是無序的,具體原因可以看之前寫的這篇文章 Go 語言 map 如何順序讀取?Fhe28資訊網(wǎng)——每日最新資訊28at.com

如果想要字典按 key 或者 value 排序的話,可以這樣做。Fhe28資訊網(wǎng)——每日最新資訊28at.com

m := map[string]int{"Alice": 2, "Cecil": 1, "Bob": 3}keys := make([]string, 0, len(m))for k := range m {    keys = append(keys, k)}sort.Strings(keys)for _, k := range keys {    fmt.Println(k, m[k])}// Output:// Alice 2// Bob 3// Cecil 1

以上就是本文的全部內(nèi)容。Fhe28資訊網(wǎng)——每日最新資訊28at.com

參考文章:

  • https://yourbasic.org/golang/how-to-sort-in-go/#performance-and-implementation

本文鏈接:http://m.www897cc.com/showinfo-26-6191-0.htmlGo 語言中排序的三種方法

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: SpringBoot中的敏感信息的配置進行加密處理,這種方式你知道嗎?

下一篇: H5-Dooring可視化頁面制作神器測評總結(jié)

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
久久一二三四| 一区二区三区欧美日韩| 国产欧美一区二区精品忘忧草| 国产精品久久久久久久久久久久久久 | 国产亚洲精品成人av久久ww| 国外成人在线视频| 亚洲国产一区二区三区a毛片| 亚洲另类春色国产| 亚洲欧美激情四射在线日 | 国产精品ⅴa在线观看h| 国产日韩一区二区| 亚洲第一区中文99精品| 一本久久a久久免费精品不卡| 午夜在线一区二区| 欧美激情1区2区| 欧美少妇一区二区| 韩国一区电影| av成人动漫| 久久国产精品久久久| 欧美精品免费在线| 国产日韩欧美a| 亚洲激情综合| 午夜精品视频在线观看| 欧美大学生性色视频| 国产精品综合| 亚洲毛片在线| 久久精品中文字幕免费mv| 欧美日韩精品三区| 黄色在线成人| 亚洲无亚洲人成网站77777| 蜜桃av噜噜一区| 国产精品永久免费观看| 亚洲精品小视频| 久久久精品国产99久久精品芒果| 欧美日韩一卡| 亚洲成在人线av| 午夜精品美女自拍福到在线| 欧美激情欧美狂野欧美精品| 国内精品久久久久影院薰衣草 | 久久久精品欧美丰满| 国产视频观看一区| 欧美一区二区私人影院日本| 亚洲黄色在线视频| 理论片一区二区在线| 国产乱码精品一区二区三区五月婷 | 在线亚洲精品| 欧美黄污视频| 午夜欧美电影在线观看| 国产精品嫩草99av在线| 欧美一级视频免费在线观看| 欧美a级片一区| 狠狠色狠狠色综合日日91app| 亚洲免费一级电影| 亚洲电影免费观看高清完整版在线观看 | 亚洲精品一区二区在线观看| 9国产精品视频| 国产一区二区三区免费在线观看 | 亚洲一区3d动漫同人无遮挡| 极品尤物久久久av免费看| 欧美日韩播放| 亚洲美女毛片| 国产免费成人在线视频| 久久久久欧美| 亚洲成在人线av| 欧美日韩一区在线| 欧美激情综合五月色丁香小说| 久久中文久久字幕| 老司机免费视频一区二区| 性视频1819p久久| 亚洲欧美综合另类中字| 亚洲欧美另类中文字幕| 久久久久久色| 老司机精品福利视频| 欧美在线999| 午夜一区二区三视频在线观看| 欧美电影免费观看高清| 亚洲福利视频一区| 久久av红桃一区二区小说| 国产精品乱子乱xxxx| 亚洲特级毛片| 欧美日韩一区二区三区视频| 亚洲高清在线| 欧美91视频| 91久久在线播放| 免费视频一区二区三区在线观看| 国产综合欧美| 久久久亚洲成人| 一区二区在线免费观看| 欧美专区在线观看| 国产一区二区三区av电影 | 99视频在线观看一区三区| 欧美不卡在线视频| 你懂的国产精品| 亚洲黄色成人网| 欧美国产在线视频| 99国产精品| 欧美精品一区二区视频| 亚洲欧洲在线免费| 欧美日韩视频不卡| 亚洲制服av| 国产亚洲欧美日韩精品| 久久亚洲春色中文字幕| 亚洲精品1区2区| 欧美日韩国产成人在线免费| 亚洲中字黄色| 国内精品**久久毛片app| 另类欧美日韩国产在线| 亚洲国产一二三| 欧美三级视频| 欧美一区二区视频观看视频| 一区精品久久| 欧美日本中文字幕| 亚洲综合视频1区| 国产在线高清精品| 美女图片一区二区| 日韩系列欧美系列| 国产精品久久久久久久久久尿| 欧美在线亚洲一区| 亚洲国产你懂的| 欧美午夜精品久久久| 久久精品视频导航| 亚洲激情综合| 欧美手机在线| 欧美中文字幕在线播放| 亚洲高清在线观看| 久久天堂精品| 亚洲美女av网站| 国产亚洲一二三区| 欧美日韩不卡| 欧美在线看片| 亚洲精品久久嫩草网站秘色| 欧美性jizz18性欧美| 久久婷婷影院| 日韩亚洲在线| 国产日韩精品综合网站| 欧美激情91| 亚洲国产精品久久91精品| 欧美三区视频| 久久人人爽人人爽爽久久| 亚洲日本乱码在线观看| 欧美视频精品在线观看| 久久另类ts人妖一区二区| 一区二区电影免费观看| 激情久久久久久久| 欧美性做爰猛烈叫床潮| 免费欧美在线视频| 亚洲欧美经典视频| 亚洲激情校园春色| 国产一区二区三区在线观看精品| 欧美日本三级| 久久亚洲高清| 亚洲欧美日韩国产一区二区三区| 亚洲欧洲另类| 欧美福利专区| 欧美一区二区日韩| 日韩视频免费在线观看| 国一区二区在线观看| 国产精品乱码一区二区三区 | 久久久久久久久综合| 亚洲少妇在线| 亚洲国产精品电影| 国产日韩成人精品| 欧美日韩中文字幕日韩欧美| 久久一区二区三区av| 亚洲一区综合| 亚洲精品1区2区| 欧美成人dvd在线视频| 久久精品国产亚洲精品| 一区二区三区 在线观看视| 亚洲国产精品尤物yw在线观看| 国产日韩欧美夫妻视频在线观看| 欧美日韩免费在线观看| 老色鬼精品视频在线观看播放| 午夜精品国产更新| 亚洲精品一区二区三区av| 国产一区视频观看| 国产精品亚洲精品| 欧美午夜影院| 麻豆91精品91久久久的内涵| 亚洲综合日韩在线| 亚洲午夜电影网| 亚洲国产精品成人一区二区| 国产一区二区精品久久| 欧美性开放视频| 欧美精品导航| 久久精品视频亚洲| 午夜宅男久久久| 亚洲欧美激情视频在线观看一区二区三区 | 国产精品你懂得| 欧美欧美天天天天操| 欧美大片免费观看| 亚洲免费高清视频| 在线观看视频亚洲| 在线精品视频一区二区| 激情国产一区二区| 伊大人香蕉综合8在线视| 韩国三级在线一区| 在线观看av不卡| 玉米视频成人免费看| 精品96久久久久久中文字幕无| 黄色成人在线网站| 精东粉嫩av免费一区二区三区| 国产亚洲欧美一区二区| 国产偷久久久精品专区|