Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Menukar Integer kepada Tatasusunan Byte dalam Go?

Bagaimanakah Saya Menukar Integer kepada Tatasusunan Byte dalam Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-19 15:15:10664semak imbas

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

Menukar Integer kepada Tatasusunan Byte

Untuk menukar integer kepada tatasusunan bait dalam Go, anda mempunyai beberapa pilihan bergantung pada yang diingini perwakilan.

Menggunakan Pengekodan/Perduaan Pakej

Jika anda ingin menukar perwakilan binari mesra mesin bagi integer, pengekodan/pustaka binari ialah pilihan yang cekap.

import "encoding/binary"

func main() {
    int32Value := int32(31415926)
    bytes := make([]byte, 4)
    binary.LittleEndian.PutUint32(bytes, uint32(int32Value))
    fmt.Println(bytes) // Output: [255 255 11 146]
}

Dengan menyatakan susunan bait ( LittleEndian atau BigEndian), anda boleh memastikan perwakilan yang konsisten pada platform yang berbeza.

Menukar kepada Perwakilan ASCII

Jika anda memerlukan perwakilan ASCII bagi integer, anda boleh menggunakan pakej strconv untuk mendapatkan nilai rentetan dan kemudian menghantarnya ke tatasusunan bait.

import "strconv"

func main() {
    int32Value := int32(31415926)
    bytes := []byte(strconv.Itoa(int32Value))
    fmt.Println(bytes) // Output: [51 50 49 52 53 54 55 56]
}

Pendekatan ini menghasilkan tatasusunan bait yang mengandungi perwakilan aksara ASCII bagi integer.

Pertimbangan Prestasi

Pilihan kaedah penukaran bergantung pada keperluan khusus anda dan jangkaan prestasi. pengekodan/perduaan menyediakan fungsi pengekodan yang dioptimumkan, manakala strconv.Itoa menanggung beberapa overhed dalam penciptaan rentetan.

Atas ialah kandungan terperinci Bagaimanakah Saya Menukar Integer kepada Tatasusunan Byte 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