Menukar integer kepada tatasusunan bait ialah tugas biasa dalam pengaturcaraan. Terdapat beberapa cara untuk mencapai ini dalam Go, tetapi kaedah terbaik bergantung pada keperluan khusus anda.
Salah satu cara paling berkesan untuk menukar integer kepada tatasusunan byte adalah menggunakan pengekodan/pakej binari. Pakej ini menyediakan satu set fungsi untuk pengekodan dan penyahkodan data binari:
package main import ( "encoding/binary" "fmt" ) func main() { var i int = 12345 b := make([]byte, 4) binary.BigEndian.PutUint32(b, uint32(i)) fmt.Println(b) // Output: [123 45 0 0] }
Kod ini menggunakan fungsi PutUint32 untuk mengekod integer i sebagai tatasusunan bait besar-endian. Tatasusunan bait yang terhasil mengandungi bait integer dalam susunan daripada yang paling ketara kepada yang paling tidak ketara.
Jika anda perlu menukar integer kepada tatasusunan bait yang mengandungi perwakilan ASCIInya, anda boleh menggunakan pakej strconv:
package main import ( "fmt" "strconv" ) func main() { i := 12345 b := []byte(strconv.Itoa(i)) fmt.Println(b) // Output: [49 50 51 52 53] }
Kod ini menggunakan fungsi Itoa untuk menukar integer i kepada rentetan. Ia kemudian menukar rentetan kepada tatasusunan bait menggunakan penukaran jenis []bait. Tatasusunan bait yang terhasil mengandungi kod ASCII bagi digit integer.
Jika anda perlu menukar integer kepada kepingan bait, anda boleh menggunakan sintaks berikut :
var b []byte = []byte(i)
Kod ini menukar integer i kepada kepingan bait. Potongan bait yang terhasil mengandungi bait integer mengikut tertib daripada paling kurang signifikan kepada yang paling ketara.
Pendekatan terbaik untuk menukar integer kepada tatasusunan bait bergantung pada keperluan khusus anda. Jika anda perlu mengekod integer dalam perwakilan binari mesra mesin, gunakan pengekodan/pakej binari. Jika anda perlu menukar integer kepada tatasusunan bait yang mengandungi perwakilan ASCIInya, gunakan pakej strconv. Dan jika anda perlu menukar integer kepada kepingan bait, gunakan sintaks yang ditunjukkan di atas.
Atas ialah kandungan terperinci Bagaimana untuk Memilih Kaedah Terbaik untuk Menukar Integer kepada Tatasusunan Byte dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!