
如何在golang中对中文字符串进行排列组合?
网上有一段代码可以实现英文字符串排列组合,但无法处理中文字符。针对这个问题,可以使用rune类型对中文字符进行处理,具体实现如下:
func permutation(S string) []rune {
nameRune := []rune(S)
if len(nameRune) == 1 {
return nameRune
}
ret := []rune{}
for i, s := range nameRune {
tmp := fmt.Sprintf("%c%c", nameRune[:i], nameRune[i+1:])
res := permutation(tmp)
for _, r := range res {
ret = append(ret, s, r)
}
}
return ret
}










