Golang 如何翻转字符串
给定一个字符串, 翻转该字符串. 下面是一些例子.
方法1: 通过交换字符串中的字母进行翻转, 如第一个与最后一个交换, 第二个与倒数第二个交换等等.
例子:
// Golang程序实现字符串翻转
package main
// 导入fmt包
import "fmt"
// 定义函数, 接受一个字符串作为参数, 返回翻转后的字符串.
func reverse(s string) string {
rns := []rune(s) // 转换为rune类型
for i, j := 0, len(rns)-1; i < j; i, j = i+1, j-1 {
// 交换字符串中的字母, 如第一个与最后一个交换等等.
rns[i], rns[j] = rns[j], rns[i]
}
// 返回翻转后的字符串.
return string(rns)
}
func main() {
// 翻转字符串.
str := "Geeks"
// 返回翻转后的字符串.
strRev := reverse(str)
fmt.Println(str)
fmt.Println(strRev)
}
输出:
Geeks
skeeG
方法2: 此例子声明一个空字符串, 然后从末尾开始逐个添加字符.
例子:
// Golang程序实现字符串翻转
package main
// 导入fmt包
import "fmt"
// 定义函数, 接受一个字符串作为参数, 返回翻转后的字符串.
func reverse(str string) (result string) {
for _, v := range str {
result = string(v) + result
}
return
}
func main() {
// 翻转字符串.
str := "Geeks"
// 返回翻转后的字符串.
strRev := reverse(str)
fmt.Println(str)
fmt.Println(strRev)
}
输出:
Geeks
skeeG