Rumah > pembangunan bahagian belakang > Golang > Bagaimana Saya Menukar Go Array kepada Slice?

Bagaimana Saya Menukar Go Array kepada Slice?

DDD
Lepaskan: 2024-12-17 22:26:11
asal
542 orang telah melayarinya

How Do I Convert a Go Array to a Slice?

Menukar Array kepada Slice dalam Go

Apabila bekerja dengan tatasusunan dan hirisan dalam Go, mungkin terdapat keadaan di mana anda perlu menukar tatasusunan kepada kepingan untuk diproses selanjutnya. Sebagai contoh, anda mempunyai fungsi yang mengembalikan tatasusunan tetapi fungsi lain memerlukan kepingan sebagai parameter input.

Untuk menangani keperluan ini, adalah mungkin untuk menukar tatasusunan kepada kepingan menggunakan tatasusunan ungkapan kepingan[: ]. Ungkapan ini berkesan mencipta pengepala hirisan yang menghala ke tatasusunan asas tanpa membuat salinan data.

Berikut ialah contoh yang menunjukkan cara anda boleh mencapai ini:

func Foo() [32]byte {
    return [32]byte{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}
}

func Bar(b []byte) {
    fmt.Println(string(b))
}

func main() {
    x := Foo()
    Bar(x[:])
}
Salin selepas log masuk

Dalam contoh ini, fungsi Foo mengembalikan tatasusunan 32 bait, mewakili digit '0' kepada 'f'. Fungsi Bar menerima sekeping bait dan mencetak perwakilan rentetannya.

Apabila anda memanggil Bar(x[:]), anda sedang mencipta pengepala hirisan yang merujuk tatasusunan asas x tanpa menyalin data. Ungkapan [:] pada asasnya mencipta kepingan yang bermula pada permulaan dan berakhir pada elemen terakhir tatasusunan.

Adalah penting untuk ambil perhatian bahawa penukaran ini tidak mencipta salinan data asas, tetapi sebaliknya memberikan pandangan atau rujukan yang berbeza kepada data yang sama. Ini amat berguna apabila anda perlu menghantar data antara fungsi tanpa membuat salinan yang tidak diperlukan.

Atas ialah kandungan terperinci Bagaimana Saya Menukar Go Array kepada Slice?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan