【golang】golang 字符串切片排序

简介: 【golang】golang 字符串切片排序

按字母排序

strs := []string{"c", "b", "a"}
sort.Strings(strs)
// strs is now ["a", "b", "c"]

自定义排序

strs := []string{"c", "b", "a"}
sort.Slice(strs, func(i, j int) bool {
    return strs[i] < strs[j]  // 字母序排序
})  
// strs is now ["a", "b", "c"]
 

排序反转


strs := []string{"c", "b", "a"}
sort.Strings(strs)     // ["a", "b", "c"]
sort.Reverse(strs) 
// strs is now ["c", "b", "a"]

结构体排序

对结构体切片排序时,需要传递一个自定义排序函数sort.Slice()或sort.Sort(),指定按哪个字段排序。例如:

type User struct {
    Name string
    Age  int
}

users := []User{
    {"Bob", 31},
    {"John", 42},
    {"Michael", 17},
}

// 按Age排序
sort.Slice(users, func(i, j int) bool {
    return users[i].Age < users[j].Age
})
目录
相关文章
|
1月前
|
存储 Java Go
【Golang】(3)条件判断与循环?切片和数组的关系?映射表与Map?三组关系傻傻分不清?本文带你了解基本的复杂类型与执行判断语句
在Go中,条件控制语句总共有三种if、switch、select。循环只有for,不过for可以充当while使用。如果想要了解这些知识点,初学者进入文章中来感受吧!
93 1
|
4月前
|
JSON 人工智能 Go
在Golang中序列化JSON字符串的教程
在Golang中,使用`json.Marshal()`可将数据结构序列化为JSON格式。若直接对JSON字符串进行序列化,会因转义字符导致错误。解决方案包括使用`[]byte`或`json.RawMessage()`来避免双引号被转义,从而正确实现JSON的序列化与反序列化。
190 7
|
4月前
|
人工智能 Java Go
golang之数组和切片
本文主要介绍了从 Java 转向 Golang 的开发者在数组和切片上的常见困惑。文章详细解析了数组和切片的底层实现、声明方式、内存结构、初始化方法以及使用场景,重点强调了数组是不可变的值类型,而切片是可变的引用类型,并通过大量代码示例讲解了它们的用法与区别。此外,还探讨了 new() 和 make() 函数的不同用途,帮助开发者更好地理解 Golang 中的数据结构机制。
|
Go
Golang语言之切片(slice)快速入门篇
这篇文章是关于Go语言中切片(slice)的快速入门教程,详细介绍了切片的概念、定义方式、遍历、扩容机制、使用注意事项以及相关练习题。
288 6
|
Go
Golang语言基本数据类型默认值及字符串之间互相转换案例
这篇文章讲解了Golang语言中基本数据类型的默认值、类型转换的概述以及整型、浮点型、字符串之间的相互转换案例,包括如何将基本数据类型转换为字符串类型和字符串类型转换为基本数据类型,以及字符串与字节切片之间的转换。
179 2
|
Go
Golang语言基础数据类型之字符串常用的操作
这篇文章介绍了Golang语言中字符串的定义、常用操作,包括字符串长度查看、遍历、类型转换、子串统计、比较、查找位置、替换、切割、大小写转换、剔除字符、前缀后缀判断、拼接、子串包含判断以及字符串join操作,同时提供了官方文档的查看方法。
240 1
[golang]字符串拼接
[golang]字符串拼接
145 5
|
存储 程序员 编译器
Golang 中的字符串:常见错误和最佳实践
Golang 中的字符串:常见错误和最佳实践
|
Go 开发者
|
监控 Serverless Go
Golang 开发函数计算问题之Go 语言中切片扩容时需要拷贝原数组中的数据如何解决
Golang 开发函数计算问题之Go 语言中切片扩容时需要拷贝原数组中的数据如何解决
115 0

热门文章

最新文章

推荐镜像

更多