Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Menukar Slice kepada Array dalam Go?

Bagaimanakah Saya Boleh Menukar Slice kepada Array dalam Go?

Susan Sarandon
Lepaskan: 2024-12-08 01:09:13
asal
529 orang telah melayarinya

How Can I Convert a Slice to an Array in Go?

Menukar Slices kepada Arrays in Go

Semasa cuba membangunkan pembaca fail RPM, anda mungkin menghadapi keperluan untuk menetapkan kepingan kepada medan tatasusunan dalam struct. Ini boleh menjadi tugas yang sukar dalam Go, kerana tiada kaedah terbina dalam untuk penukaran langsung.

Untuk mengatasi had ini, pertimbangkan pilihan berikut:

Menggunakan salinan dengan a Slice Pretense:

Kaedah salin boleh ditipu untuk menyalin kepingan ke tatasusunan dengan mencipta kepingan sementara dengan tatasusunan asas yang sama sebagai tatasusunan sasaran.

varLead := Lead{}
magicSlice := someSlice[0:4] // Create a temporary slice that references the array underlying the array field
copy(varLead.Magic[:], magicSlice)
Salin selepas log masuk

Tugasan Berasaskan Gelung Manual:

Sebagai alternatif, anda boleh menggelung ke atas kepingan dan menetapkan setiap elemen secara manual kepada elemen tatasusunan yang sepadan .

for index, b := range someSlice {

    varLead.Magic[index] = b

}
Salin selepas log masuk

Tersurat Penukaran:

Jika saiz tatasusunan ditetapkan, anda boleh menggunakan nilai literal untuk memulakan tatasusunan secara terus.

type Lead struct {
  Magic [4]byte
  // Other fields...
}
lead := Lead{
  Magic: [4]byte{0x12, 0x34, 0x56, 0x78},
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Slice kepada Array 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