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]
*/