ホームページ > バックエンド開発 > Golang > golang 文字列を逆にする

golang 文字列を逆にする

WBOY
リリース: 2023-05-16 12:51:38
オリジナル
983 人が閲覧しました

Go 言語 (Golang) は、高性能で優れたツールボックスを備えた最新のプログラミング言語です。 Golang では、文字列が基本的なデータ型です。この記事では、Golangを使って文字列を反転する方法を解説します。

Golang では、文字列は一連の Unicode 文字で構成される不変のシーケンスです。文字列を反転するとは、シーケンスを上下逆にして、最初の文字が最後の文字になり、2 番目の文字が最後から 2 番目の文字になることを意味します。 Golang を使用して文字列を反転する例をいくつか示します。

方法 1: [] バイト変換を使用する

文字列をバイト配列に変換し、for ループを使用してバイト配列内の各要素の位置を交換します。最後に、反転したバイト配列を文字列に変換して戻すことができます。サンプル コードは次のとおりです。

func reverseString(s string) string {
    b := []byte(s)
    for i := 0; i < len(b)/2; i++ {
        j := len(b) - i - 1
        b[i], b[j] = b[j], b[i]
    }
    return string(b)
}
ログイン後にコピー

上記のコードでは、変数 i を使用して文字列の最初の文字を表し、変数 j を使用して文字列の最後の文字を表します。 Golang の文字列は不変であるため、for ループを使用してバイト配列を交換できるように、文字列をバイト配列変数 b に変換します。 i と j が出会うと、文字列全体の反転が完了します。

方法 2: ルーン変換を使用する

ルーンの種類を使用して文字列を逆にすることもできます。 Golang では、ルーン タイプは Unicode 文字を表します。文字列をルーン スライスに変換し、同様の方法を使用してスライスを反転できます。最後に、ルーン スライスを文字列に変換します。以下は、ルーンを使用して文字列を反転するコード例です。

func reverseString(s string) string {
    r := []rune(s)
    for i := 0; i < len(r)/2; i++ {
        j := len(r) - i - 1
        r[i], r[j] = r[j], r[i]
    }
    return string(r)
}
ログイン後にコピー

上記のコードでは、ルーン タイプのスライス変数 r を使用して反転する文字列を表し、同様のループ構造を使用して、 r の要素を交換します。

方法 3: 文字列連結を使用する

文字列連結を使用して、文字列の反転を実現することもできます。たとえば、最後の文字から開始して文字列を反復し、各文字を新しい文字列に連結できます。以下は、文字列反転を実装する文字列連結のサンプル コードです。

func reverseString(s string) string {
    result := ""
    for _, v := range s {
        result = string(v) + result
    }
    return result
}
ログイン後にコピー

このメソッドでは、空の文字列変数を出力として使用し、入力文字列の各文字を逆の順序で反復して、次のように連結します。新しい文字列の始まり。最後に、文字列を正の順序で返します。

概要

この記事では、Golang で文字列を反転する 3 つの方法を紹介します。シナリオごとに異なる方法が適しています。短い文字列の場合は、文字列の連結を使用できます。中程度のサイズの文字列の場合は、ルーン タイプを使用する方が効率的です。長い文字列の場合は、バイト配列に変換する必要があります。これらのヒントを学ぶと、Golang プログラミング言語をより効果的に使用できるようになります。

以上がgolang 文字列を逆にするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート