ホームページ > バックエンド開発 > Golang > Go で []int8 を文字列に効率的に変換するにはどうすればよいですか?

Go で []int8 を文字列に効率的に変換するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-06 20:42:13
オリジナル
418 人が閲覧しました

How to Efficiently Convert a []int8 to a String in Go?

[]int8 から String への変換

[]int8 から文字列への変換は、データ型が異なるため手動プロセスが必要です。最適な変換アプローチを決定するには、[]byte と []rune の 2 つのオプションを考慮する必要があります。

オプション 1: []byte

文字列は内部的に次のように格納されます。 UTF-8 でエンコードされたバイト シーケンス。[]byte で表されます。 []int8 から []byte への変換は簡単です。バイトは uint8 のエイリアスであり、言語は []byte から文字列への変換をサポートしています。

オプション 2: []rune

ルーンは Unicode コードポイントです。入力に複数バイト (UTF-8) を使用してエンコードされた文字が含まれている場合、int8 値をルーン文字に 1 対 1 でマッピングすると、不正な出力が発生します。したがって、1-1 int8 からバイトへのマッピングを選択する必要があります。

最適な変換方法

要件に基づくと、最も効率的な変換方法は次のとおりです。

func B2S(bs []int8) string {
    b := make([]byte, len(bs))
    for i, v := range bs {
        b[i] = byte(v)
    }
    return string(b)
}
ログイン後にコピー

このメソッドは、要素の割り当てに追加関数の代わりにインデックス [] を使用し、既知のスライスによりパフォーマンスが向上します。長さ。

以上がGo で []int8 を文字列に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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