Go言語で文字列を逆順に並び替える
参考 : How to reverse a string in Go? - Stack Overflow
stringをruneの配列に変換する方法、逆にruneの配列をstringに変換する方法がわかった。
package main import ( "fmt" "unicode/utf8" ) 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) } func main() { s := "あいうえお" // rune配列に変換 runes := []rune(s) fmt.Printf("%#v\n", runes) // -> []int32{12354, 12356, 12358, 12360, 12362} // rune配列を文字列に変換 fmt.Printf("%v\n", string(runes)) // -> あいうえお // 文字列を逆順に並び替える fmt.Println(Reverse(s)) // -> おえういあ }