[]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 サイトの他の関連記事を参照してください。