GoLang 逆文字列

Sheeraz Gul 2023年6月20日
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
著者: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

関連記事 - Go String