Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menukar Tatasusunan Saiz Tetap kepada Slice dalam Go?

Bagaimana untuk Menukar Tatasusunan Saiz Tetap kepada Slice dalam Go?

Susan Sarandon
Lepaskan: 2024-11-09 11:49:02
asal
332 orang telah melayarinya

How to Convert a Fixed-Size Array to a Slice in Go?

Menukar Tatasusunan Saiz Tetap kepada Tatasusunan Bersaiz Pembolehubah dalam Go

Apabila bekerja dengan tatasusunan dalam Go, selalunya perlu menukar tatasusunan saiz tetap kepada pembolehubah -tatasusunan bersaiz (hirisan). Walau bagaimanapun, cubaan untuk menetapkan tatasusunan bersaiz tetap secara langsung kepada kepingan boleh mengakibatkan ralat, seperti yang dilihat dalam contoh di bawah:

package main

import (
    "fmt"
)

func main() {
    var a [32]byte
    b := []byte(a)
    fmt.Println(" %x", b)
}
Salin selepas log masuk

Pengkompil akan membuang ralat:

./test.go:9: cannot convert a (type [32]byte) to type []byte
Salin selepas log masuk

Untuk berjaya menukar tatasusunan saiz tetap kepada kepingan, anda boleh menggunakan ungkapan b := a[:]. Ini akan mencipta kepingan yang merujuk tatasusunan asas, tanpa membuat salinan:

b := a[:]
Salin selepas log masuk

Sumber Tambahan:

Rujuk catatan blog berikut untuk perbincangan terperinci mengenai perbezaan antara tatasusunan dan kepingan dalam Go:

  • [Arrays vs Slices in Pergi](https://blog.logrocket.com/understanding-arrays-versus-slices-in-go/)

Atas ialah kandungan terperinci Bagaimana untuk Menukar Tatasusunan Saiz Tetap kepada Slice 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