golang排序字符串的内容
有字符串 s=“2531”,将其按照升序排列成s1 = “1,2,3,5”
我想到的解决办法是先将字符串s转换为rune切片,再通过ASCII码值进行排序
在golang中rune为int32的别名
func buf(s tring)string{
ss := make([]string, 0)
w := []rune(s)
//冒泡排序,升序降序都可以
for i := 0;i<len(w)-1; i++{
for j :=i+1; j<len(w); j++{
if w[i]>w[j]{
w[i], w[j] = w[j], w[i]
}
}
}
//转为[]string,方便添加 ","
//如果不需要添加 ",",而直接输出,强转回string即可
fmt.Println(string(w))
for _, v := range w{
//v为rune类型,强转为string类型
ss = append(ss,string(v))
}
//
s1 := strings.Jion(ss,",")
return s1
}