[]int8 を String に変換する
問題:
スライスを効率的に変換する方法int8 ([]int8) を文字列に変換しますか? []byte の標準の文字列 (バイトスライス) 変換は、[]int8 で「文字列型に変換できません」というエラーで失敗します。 int8 と []byte は型が異なるため、直接変換することはできません。したがって、手動変換が必要です。
変換プロセスには 3 つのステップが含まれます:
int8 をバイトに変換します:
バイトを使用して、各 int8 値をバイトにキャストします。 (v) 変換。このコードは、int8 値がバイトに正しく変換され、正確な文字列表現が得られることを保証します。
注:
func B2S(bs []int8) string { b := make([]byte, len(bs)) for i, v := range bs { b[i] = byte(v) } return string(b) }
最初に問題点について言及しましたが、 []int8 でしたが、質問者は後で []uint8 に修正しました。 []uint8 の場合、byte は uint8 のエイリアスであるため、string(ba) を使用して文字列に直接変換できます。
以上がGo []int8 スライスを文字列に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。