Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Memperuntukkan Tatasusunan Saiz Tidak Malar dalam Go?

Bagaimanakah Saya Boleh Memperuntukkan Tatasusunan Saiz Tidak Malar dalam Go?

Patricia Arquette
Patricia Arquetteasal
2024-12-13 05:34:08476semak imbas

How Can I Allocate Non-Constant Size Arrays in Go?

Memperuntukkan Tatasusunan Saiz Tidak Tetap dalam Go: Potongan untuk Penyelamat

Tidak seperti bahasa lain, Go tidak membenarkan memperuntukkan tatasusunan dengan dinamik saiz secara langsung. Apabila anda cuba mencipta tatasusunan dengan saiz pembolehubah, seperti var a [n]int, anda akan menghadapi ralat masa kompilasi.

Sekatan ini bukan pengehadan tetapi sebaliknya mendorong ke arah menggunakan kepingan , struktur data yang lebih fleksibel dan berkuasa dalam Go. Kepingan adalah serupa dengan tatasusunan, tetapi ia mempunyai saiz dinamik yang boleh dilaraskan pada masa jalanan.

Untuk memperuntukkan tatasusunan menggunakan hirisan, anda boleh menggunakan fungsi make, yang mencipta kedua-dua kepingan dan tatasusunan asas:

n := 12
s := make([]int, n, 2*n)

Dalam contoh ini, s ialah kepingan integer dan tatasusunan baharu saiz 2*n diperuntukkan untuk menyimpan kepingan elemen. Potongan s pada mulanya merujuk kepada separuh pertama tatasusunan.

Kaedah ini menyediakan kedua-dua fleksibiliti untuk melaraskan saiz tatasusunan secara dinamik dan faedah bekerja dengan tatasusunan, seperti peruntukan memori bersebelahan yang dijamin. Oleh itu, amalan biasa dalam Go untuk bergantung pada kepingan dan bukannya tatasusunan untuk pengurusan data dinamik.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memperuntukkan Tatasusunan Saiz Tidak Malar 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