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!” という文字列の出力が得られます。これは文字列の反転が成功したことを示します。

お役に立てば幸いです。

bannerAds