HOWTO · Go
GoLang 逆文字列
このチュートリアルでは、GoLang で文字列を逆にする方法を示します。
このページの内容
このチュートリアルでは、GoLang で文字列を逆にする方法を示します。
GoLang の逆文字列
GoLang では、文字列の反転は簡単な操作です。 指定された文字列の文字を交換するか、空の文字列を作成して、指定された文字列の文字を最後から追加することができます。
方法 1 の手順に従います。
-
まず、文字列を受け取り、結果の文字列を返す関数を定義します。
-
次に、指定された文字列を反復処理し、その文字を結果の文字列に追加します。
-
反復が終了したら、結果の文字列を返します。
上記の手順に基づいて例を実装しましょう。
コード例:
package main
import "fmt"
func StringReverse(InputString string) (ResultString string) {
// iterating and prepending
for _, c := range InputString {
ResultString = string(c) + ResultString
}
return
}
func main() {
String1 := "Delftstack"
fmt.Println("The result for", String1, "is: ", StringReverse(String1))
String2 := "Delftsatck.com"
fmt.Println("The result for", String2, "is: ", StringReverse(String2))
String3 := "www.Delftsatck.com"
fmt.Println("The result for", String3, "is: ", StringReverse(String3))
}
上記のコードは、指定された文字列の文字を空の文字列の先頭に追加して、文字列を逆にします。
出力:
The result for Delftstack is: kcatstfleD
The result for Delftsatck.com is: moc.kctastfleD
The result for www.Delftsatck.com is: moc.kctastfleD.www
それでは、方法 2 の手順を見てみましょう。
-
まず、文字列を受け取って返す関数を定義します。
-
指定された文字列をバイト文字列に変換します。
-
バイト文字列を反復処理します。
-
スワップを開始し、バイト文字列の最初の要素を最後の要素とスワップし、2 番目の要素を最後から 2 番目の要素とスワップし、要素がなくなるまで操作を繰り返します。
-
バイト文字列を文字列型に変換します。
上記の方法に基づいた例を試してみましょう。
package main
import "fmt"
func StringReverse(InputString string) string {
ByteString := []rune(InputString)
for x, y := 0, len(ByteString)-1; x < y; x, y = x+1, y-1 {
ByteString[x], ByteString[y] = ByteString[y], ByteString[x]
}
return string(ByteString)
}
func main() {
String1 := "Delftstack"
fmt.Println("The result for", String1, "is: ", StringReverse(String1))
String2 := "Delftsatck.com"
fmt.Println("The result for", String2, "is: ", StringReverse(String2))
String3 := "www.Delftsatck.com"
fmt.Println("The result for", String3, "is: ", StringReverse(String3))
}
上記のコードは、文字列をバイト文字列に変換してから逆にします。
出力:
The result for Delftstack is: kcatstfleD
The result for Delftsatck.com is: moc.kctastfleD
The result for www.Delftsatck.com is: moc.kctastfleD.www