How to sort by strings a mixed pair of string and number elements in a slice with Go

1 Answer

0 votes
package main
 
import (
    "fmt"
    "sort"
    "strings"
)
 
func extractName(s string) string {
    pos := strings.LastIndex(s, " ")
     
    return s[:pos]
}
 
func main() {
    slice := []string{
        "Python 4", "C 9", "C++ 5", "C# 6",
        "Java 1", "PHP 7", "Go 2",
    }
 
    sort.Slice(slice, func(i, j int) bool {
        return extractName(slice[i]) < extractName(slice[j])
    })
 
    fmt.Println(slice)
}
 
 
 
/*
run:
 
[C 9 C# 6 C++ 5 Go 2 Java 1 PHP 7 Python 4]
 
*/

 



answered Jan 23 by avibootz
edited Jan 23 by avibootz

Related questions

...