Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menukar Slice []bait kepada int64 secara Idiomatik dalam Go?

Bagaimanakah Saya Boleh Menukar Slice []bait kepada int64 secara Idiomatik dalam Go?

Linda Hamilton
Linda Hamiltonasal
2024-12-08 20:42:14531semak imbas

How Can I Idiomatically Convert a []byte Slice to an int64 in Go?

Meningkatkan Idiom Kod dalam Go: Tukar []bait Slice kepada int64

Persoalan utama artikel memfokuskan pada mencari pendekatan yang lebih idiomatik dalam Go untuk menukar kepingan []bait kepada jenis data int64. Walaupun kod yang disediakan menawarkan penyelesaian yang berdaya maju, ia tidak mempunyai keanggunan dan kecekapan yang mencirikan pengaturcaraan Go idiomatik.

Untuk meningkatkan simpulan bahasa kod, kami boleh memanfaatkan keupayaan Go untuk memanipulasi kepingan dengan berkesan. Daripada melelaran secara manual melalui hirisan dan melakukan operasi bitwise, kami boleh memudahkan proses dengan menggunakan gelung julat tunggal yang melelaran pada setiap bait dalam hirisan.

Kod yang dioptimumkan di bawah menunjukkan pendekatan ini:

func main() {
    var mySlice = []byte{244, 244, 244, 244, 244, 244, 244, 244}
    var data int64 = 0
    for _, b := range mySlice {
        data = (data << 8) | int64(b)
    }
    fmt.Printf("%d\n", data)
}

Dengan pelarasan ini, kod menjadi lebih ringkas dan boleh dibaca, menjajarkan lebih baik dengan gaya idiomatik Go. Penggunaan gelung julat memudahkan operasi bitwise dan meningkatkan kejelasan dan kebolehselenggaraan keseluruhan kod.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Slice []bait kepada int64 secara Idiomatik dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn