Apakah yang dimaksudkan oleh '...Jenis' dalam tandatangan fungsi Go?

Linda Hamilton
Lepaskan: 2024-11-04 19:09:01
asal
599 orang telah melayarinya

What does

Memahami Maksud "...Jenis" dalam Go

In Go, pengendali "...", apabila digunakan dalam tandatangan fungsi, menunjukkan bahawa parameter akhir adalah variadic. Fungsi variadic boleh menerima bilangan argumen yang tidak tentu jenis yang sama untuk parameter terakhirnya.

Pertimbangkan petikan kod ini daripada dokumentasi Go:

<code class="go">func append(slice []Type, elems ...Type) []Type</code>
Salin selepas log masuk

Di sini, fungsi tambah mengambil sekeping taip []Taip sebagai parameter pertama dan argumen variadik jenis Jenis sebagai parameter terakhirnya.

Dalam Go, "...Type" berfungsi sebagai pemegang tempat untuk sebarang jenis. Ia membenarkan fungsi untuk menerima sebarang bilangan hujah yang mematuhi jenis yang diisytiharkan. Sebagai contoh, contoh berikut menunjukkan penggunaan fungsi tambah:

<code class="go">s := []int{1, 2, 3, 4, 5}
s1 := append(s, 6, 7, 8) // appending individual integers to the slice
s2 := append(s, []int{9, 10}) // appending a slice of integers to the slice</code>
Salin selepas log masuk

Dalam kedua-dua kes, fungsi tambah dengan betul mengendalikan argumen variadic dan mengembalikan kepingan yang dikemas kini.

Adalah penting untuk ambil perhatian bahawa pengendali "..." digunakan secara khusus untuk parameter terakhir tandatangan fungsi. Argumen variadic membolehkan lebih fleksibiliti dalam reka bentuk fungsi, membolehkan fungsi mengendalikan bilangan nilai input yang berbeza-beza sambil mengekalkan keselamatan jenis.

Atas ialah kandungan terperinci Apakah yang dimaksudkan oleh '...Jenis' dalam tandatangan fungsi 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