11
一些功能可以排序字符串或[]字节:golang - 如何对字符串或[]字节进行排序?
"bcad" to "abcd"
or
[]byte("bcad") to []byte("abcd")
该字符串仅字母。
如果字母和数字?
我发现排序包,但不是一个想要的功能。
谢谢。
一些功能可以排序字符串或[]字节:golang - 如何对字符串或[]字节进行排序?
"bcad" to "abcd"
or
[]byte("bcad") to []byte("abcd")
该字符串仅字母。
如果字母和数字?
我发现排序包,但不是一个想要的功能。
谢谢。
它感到浪费,为每个角色创建一个字符串,仅仅为Join
他们。
这是一个有点浪费,但更多的锅炉板。 playground://XEckr_rpr8
type sortRunes []rune
func (s sortRunes) Less(i, j int) bool {
return s[i] < s[j]
}
func (s sortRunes) Swap(i, j int) {
s[i], s[j] = s[j], s[i]
}
func (s sortRunes) Len() int {
return len(s)
}
func SortString(s string) string {
r := []rune(s)
sort.Sort(sortRunes(r))
return string(r)
}
func main() {
w1 := "bcad"
w2 := SortString(w1)
fmt.Println(w1)
fmt.Println(w2)
}
您可以将字符串转换为字符串的切片,排序它,将其转换回字符串:
package main
import (
"fmt"
"sort"
"strings"
)
func SortString(w string) string {
s := strings.Split(w, "")
sort.Strings(s)
return strings.Join(s, "")
}
func main() {
w1 := "bcad"
w2 := SortString(w1)
fmt.Println(w1)
fmt.Println(w2)
}
此打印:
bcad
abcd