Tôi có một số mã C# thực hiện một số hoạt động bitwise trên một byte. Tôi đang cố gắng làm điều tương tự ở golang nhưng đang gặp khó khăn.Thao tác bitwise Golang cũng như thao tác byte chung
Ví dụ trong C#
byte a, c;
byte[] data;
int j;
c = data[j];
c = (byte)(c + j);
c ^= a;
c ^= 0xFF;
c += 0x48;
Tôi đã đọc rằng golang không thể thực hiện các hoạt động Bitwise vào loại byte. Vì vậy, tôi sẽ phải sửa đổi mã của tôi thành một loại uint8 để thực hiện các hoạt động này? Nếu vậy thì có một cách sạch sẽ và chính xác/tiêu chuẩn để thực hiện điều này?
Cảm ơn. Tôi đã giả định bởi vì tôi không thể thực hiện các phép toán bitwise trên một byte [] có độ dài 1 mà nó không thể thực hiện được và chỉ có thể thực hiện nó trên các int không dấu. – John
@john Không có hoạt động bitwise trên lát, ngay cả khi chúng có chiều dài 1. Đây không phải là R hoặc MATLAB, nơi một vô hướng giống như một vectơ có độ dài 1. –