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) }
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) }
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!