编程实践Golang 字符串数组排序

Posted 禅与计算机程序设计艺术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程实践Golang 字符串数组排序相关的知识,希望对你有一定的参考价值。

Golang 字符串数组排序

当数字存储为字符串时,这是编程中的一个问题-因为作为字符串,当按字母顺序排序时,它们将从头到尾按每个数字排列。例如,在处理带编号的文件名时,您可能会遇到此问题,这些文件名将被视为字符串,但是我们可能需要按顺序处理它们。

在下面的示例中,我们同时使用sort和strconv包对数组进行排序,并将字符串转换为比较函数中的数字。转换为整数可以为我们提供可靠的排序。

package main 

import (
    "fmt"
    "sort"
    "strconv"
)

func main() 

    myList := []string"1", "10", "11", "2", "3", "4", "5", "6", "7", "8", "9"

    fmt.Printf("Before: %v\\n", myList)

    // Pass in our list and a func to compare values
    sort.Slice(myList, func(i, j int) bool 
        numA, _ := strconv.Atoi(myList[i])
        numB, _ := strconv.Atoi(myList[j])
        return numA < numB
    )

    fmt.Printf("After: %v\\n", myList)

以上是关于编程实践Golang 字符串数组排序的主要内容,如果未能解决你的问题,请参考以下文章

golang数组排序算法

编程实践Golang 实现雪花算法

Golang实现常用排序算法

[golang] 数据结构-快速排序

[golang] 数据结构-冒泡排序

Golang泛型编程初体验