バイトスライスを int スライスに変換: 予期しない構文エラーに対処する
バイトスライスを int スライスに変換しようとすると、ユーザーは次のエラーが発生しました:
"strconv.Atoi: parsing "x01": valid syntax"
さまざまなアプローチを試したにもかかわらず、問題は解決しませんでした。根本原因を詳しく調べて解決策を提供しましょう。
エラーについて
エラー メッセージは、渡された文字列「0x01」を文字列として解析できないことを示しています。整数。これは、スライスに文字列から整数への変換に使用される ASCII 文字 1 ではなく、バイト値 1 が含まれているために発生します。
解決策: 直接変換
バイト スライスを int スライスに正常に変換するには、各バイト値を個別に変換する必要があります。サンプル コードは次のとおりです。
byteSlice := []byte{1, 2, 3, 4} intSlice := make([]int, len(byteSlice)) for i, b := range byteSlice { intSlice[i] = int(b) }
このコードは、スライス内の各バイト値を反復処理し、int() 関数を使用してそれを int に変換し、結果を intSlice スライスに保存します。
詳細情報
Go の変換についてより深く理解するには、次のリソースを参照してください:
以上がByte スライスから Int スライスへの変換で「strconv.Atoi: parsing \\\'\\x01\\\': valid syntax」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。