Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menukarkan Go []int8 Slice dengan Cekap kepada Rentetan?

Bagaimana untuk Menukarkan Go []int8 Slice dengan Cekap kepada Rentetan?

Barbara Streisand
Lepaskan: 2024-12-15 10:44:10
asal
569 orang telah melayarinya

How to Efficiently Convert a Go []int8 Slice to a String?

Menukar []int8 kepada Rentetan

Masalah:

Cara menukar kepingan dengan cekap daripada int8 ([]int8) kepada rentetan? Penukaran rentetan(bait) standard untuk []bait gagal untuk []int8 dengan ralat "tidak boleh menukar kepada rentetan taip."

Penyelesaian:

Sejak [] int8 dan []bait mempunyai jenis yang berbeza, penukaran langsung tidak boleh dilakukan. Oleh itu, penukaran manual diperlukan.

Proses penukaran melibatkan tiga langkah:

  1. Tukar int8 kepada bait: Hantar setiap nilai int8 kepada bait menggunakan bait (v) penukaran.
  2. Buat kepingan bait: Peruntukkan []hirisan bait dengan panjang yang sama dengan kepingan input.
  3. Salin nilai ke kepingan bait: Berikan bait yang ditukar kepada kepingan bait menggunakan pengindeksan ([]).

Pelaksanaan Kod:

Kod Go berikut menunjukkan penukaran:

func B2S(bs []int8) string {
    b := make([]byte, len(bs))
    for i, v := range bs {
        b[i] = byte(v)
    }
    return string(b)
}
Salin selepas log masuk

Kod ini memastikan nilai int8 ditukar dengan betul kepada bait, menghasilkan perwakilan rentetan yang tepat.

Nota:

Walaupun pernyataan masalah pada mulanya menyebut []int8, penanya kemudian membetulkannya kepada []uint8. Untuk []uint8, penukaran terus kepada rentetan menggunakan rentetan(ba) adalah mungkin kerana bait ialah alias untuk uint8.

Atas ialah kandungan terperinci Bagaimana untuk Menukarkan Go []int8 Slice dengan Cekap kepada Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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