Go Slice Sort 数组排序简单实例

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

tags:

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

// f1,f2 -> f2(f1(
func getComposeIndexFuncsLeft(funcs []string) string 
    if nil == funcs || len(funcs) == 0 
        return ""
    
    // reverse
    sort.Sort(sort.Reverse(sort.StringSlice(funcs))) // 有点绕
    bb := new(bytes.Buffer)
    // foreach
    for _, f := range funcs 
        bb.WriteString(f)
        bb.WriteString("(")
    
    return bb.String()


// f1,f2 -> ))
func getComposeIndexFuncsRight(funcs []string) string 
    if nil == funcs || len(funcs) == 0 
        return ""
    
    bb := new(bytes.Buffer)
    // foreach
    size := len(funcs)
    for i := 0; i < size; i++ 
        bb.WriteString(")")
    
    return bb.String()

Reverse 逆序实现:

func reverse(s [] interface) [] interface 
    for i, j := 0, len(s)-1; i < j; i, j = i+1, j-1 
        s[i], s[j] = s[j], s[i]
    
    return s

以上是关于Go Slice Sort 数组排序简单实例的主要内容,如果未能解决你的问题,请参考以下文章

Go语言golang调用sort.Slice实现struct切片的快速排序

Go 语言入门很简单:sort 中的sortInts 方法

$each $position $sort $slice

golang: sort库基本使用

go--sort对数组进行排序

go排序