Golangで文字列を反転する方法は?
Go 言語では、文字列は不変で、文字列内の文字を直接変更することはできません。そのため、文字列の反転を実現するには、文字列をバイト配列に変換し、次に双方向ポインタ法を使用して反転操作を実行し、最終的にバイト配列を文字列に変換します。
文字を反転するサンプルコードを以下に示す。
package main
import (
"fmt"
)
func reverseString(s string) string {
str := []byte(s) // 将字符串转换为字节数组
left, right := 0, len(str)-1 // 左右指针
// 使用双指针法进行反转操作
for left < right {
str[left], str[right] = str[right], str[left]
left++
right--
}
return string(str) // 将字节数组转换为字符串
}
func main() {
s := "Hello, World!"
fmt.Println(reverseString(s)) // 输出:!dlroW ,olleH
}
上記コードを実行すると、”Hello, World!” という文字列の出力が得られます。これは文字列の反転が成功したことを示します。
お役に立てば幸いです。