Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Menukar Integer kepada Tatasusunan Bait dengan Cekap dalam Go?

Bagaimanakah Saya Boleh Menukar Integer kepada Tatasusunan Bait dengan Cekap dalam Go?

Mary-Kate Olsen
Lepaskan: 2024-12-21 14:21:10
asal
771 orang telah melayarinya

How Can I Efficiently Convert an Integer to a Byte Array in Go?

Menukar Integer kepada Tatasusunan Bait Dengan Cekap

Apabila bekerja dengan aliran data atau protokol rangkaian, anda mungkin menghadapi situasi di mana anda perlu menukar integer kepada tatasusunan bait. Walaupun kod yang diberikan cuba melakukan ini menggunakan fungsi a.Write(), terdapat kaedah yang lebih cekap dan sesuai tersedia.

Menggunakan pengekodan/Perpustakaan binari

Pustaka standard Go menyediakan pengekodan/pakej binari, yang menawarkan penyelesaian khusus untuk pengekodan dan penyahkodan data binari. Untuk penukaran integer, anda boleh menggunakan fungsi seperti LittleEndian.PutInt32 atau BigEndian.PutUint64 untuk mengekod integer diretasmente no array de bytes.

Berikut ialah contoh menggunakan LittleEndian.PutInt32:

import "encoding/binary"

func main() {
    bs := make([]byte, 4)
    binary.LittleEndian.PutInt32(bs, 31415926)
    fmt.Println(bs)
}
Salin selepas log masuk

Mengekodkan ASCII Rentetan

Jika anda memerlukan perwakilan ASCII bagi integer, anda boleh menukarnya kepada rentetan menggunakan strconv.Itoa dan kemudian menghantarnya ke tatasusunan bait.

Berikut ialah contoh menggunakan strconv.Itoa:

import "strconv"

func main() {
    bs := []byte(strconv.Itoa(31415926))
    fmt.Println(bs)
}
Salin selepas log masuk

Memilih yang Terbaik Kaedah

Pilihan kaedah bergantung pada keperluan khusus anda. Jika anda memerlukan perwakilan binari, pengekodan/perduaan menawarkan fungsi yang dioptimumkan. Untuk perwakilan ASCII, penukaran rentetan ialah pendekatan yang mudah.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Integer kepada Tatasusunan Bait dengan Cekap dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan