バイト スライスを Int スライスに変換: 解析エラーを解決する
Go では、バイト スライスを int に変換するには慎重な検討が必要です。従来の方法ではバイト スライスを文字列に変換してから strconv.Atoi を使用しますが、この方法では解析エラーが発生する可能性があります。
var d = []byte{0x01} val, err := strconv.Atoi(string(d))
バイト スライスには生のバイト値が含まれているため、上記のコードはエラーになります。 ASCII 文字 (49) ではなく (1)。
正解アプローチ:
バイト スライスを int スライスに変換するには、次の手順を実行します。
byteSlice := []byte{1, 2, 3, 4} intSlice := make([]int, len(byteSlice)) for i, b := range byteSlice { intSlice[i] = int(b) }
このコードは、バイト スライス内の各バイト値を反復処理して、バイト値を int スライスに変換します。整数。結果の intSlice には、バイト値の対応する整数表現が含まれます。
このニュアンスを理解することで、開発者は解析エラーを回避し、Go でバイト スライスを int スライスに効率的に変換できます。
以上がGoで解析エラーなしでバイトスライスをIntスライスに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。