我们如何在Go中反转一个简单的字符串?
发布于 2012-04-05 22:43:12
在Go1中,符文是一种内置类型。
func Reverse(s string) string {
runes := []rune(s)
for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 {
runes[i], runes[j] = runes[j], runes[i]
}
return string(runes)
}
发布于 2009-11-18 15:29:26
Russ Cox, on the golang-nuts mailing list,建议
package main
import "fmt"
func main() {
input := "The quick brown 狐 jumped over the lazy 犬"
// Get Unicode code points.
n := 0
rune := make([]rune, len(input))
for _, r := range input {
rune[n] = r
n++
}
rune = rune[0:n]
// Reverse
for i := 0; i < n/2; i++ {
rune[i], rune[n-1-i] = rune[n-1-i], rune[i]
}
// Convert back to UTF-8.
output := string(rune)
fmt.Println(output)
}
发布于 2011-02-11 12:07:21
这是可行的,而不需要对函数进行所有的修改:
func Reverse(s string) (result string) {
for _,v := range s {
result = string(v) + result
}
return
}
https://stackoverflow.com/questions/1752414
复制相似问题