Go에서 []바이트 슬라이스를 int64로 인코딩하는 보다 관용적인 접근 방식
Go에서는 []바이트 조각을 int64로 변환합니다. 제공된 코드는 작업을 수행하지만 관용적 유창성을 높이기 위해 최적화될 수 있습니다.
원본 코드:
var data int64 for i := 0; i < 8; i++ { data |= int64(mySlice[i]&byte(255)) << uint((8*8)-((i+1)*8)) }
향상된 관용적 접근 방식:
대체적이고 보다 관용적인 접근 방식은 비트 이동 및 슬라이스를 통해 반복:
func main() { var mySlice = []byte{244, 244, 244, 244, 244, 244, 244, 244} data := int64(0) for _, b := range mySlice { data = (data << 8) | int64(b) } fmt.Printf("%d\n", data) }
설명:
향상된 코드는 비트 이동(<< 및 >>)을 활용하여 다음을 수행합니다. 효율적으로 인코딩합니다. 범위 구문을 사용하여 슬라이스를 반복하여 데이터 값을 8비트(
관용적 접근 방식의 장점:
위 내용은 Go에서 []바이트 슬라이스를 int64로 관용적으로 인코딩하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!