Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bolehkah Berbilang Nilai Pulangan Diluluskan sebagai Argumen kepada Fungsi dengan Kiraan Parameter Berbeza dalam Go?

Bolehkah Berbilang Nilai Pulangan Diluluskan sebagai Argumen kepada Fungsi dengan Kiraan Parameter Berbeza dalam Go?

Susan Sarandon
Susan Sarandonasal
2024-10-31 11:20:29563semak imbas

Can Multiple Return Values Be Passed as Arguments to Functions with Different Parameter Counts in Go?

Nilai Pulangan Berbilang sebagai Argumen Fungsi dalam Go

Dalam Go, fungsi boleh mengembalikan berbilang nilai, yang boleh memberi manfaat untuk menstruktur dan menggunakan semula kod . Walau bagaimanapun, apabila ia datang untuk menghantar nilai pulangan ini sebagai argumen kepada fungsi lain, sekatan tertentu dikenakan.

Penghadan dengan Berbilang Nilai Pulangan

Jika anda mempunyai fungsi returnIntAndString( ) yang mengembalikan dua nilai (integer dan rentetan), anda boleh memanggil fungsi lain doSomething(int, string) menggunakan nilai pulangan tanpa sebarang isu, seperti:

<code class="go">doSomething(returnIntAndString())</code>

Walau bagaimanapun, jika anda menambah tambahan argument to doSomething(), seperti rentetan mesej, Go akan mengadu jika anda memanggilnya seperti ini:

<code class="go">doSomething("message", returnIntAndString())</code>

Ralat penyusunan:

  • main.go:45: berbilang nilai returnIntAndString() dalam konteks nilai tunggal
  • main.go:45: tidak cukup argumen dalam panggilan ke doSomething()

Penyelesaian

Spesifikasi Go tidak membenarkan berbilang nilai pulangan dihantar sebagai argumen kepada fungsi dengan parameter tambahan. Fungsi dalaman mesti mengembalikan bilangan sebenar nilai yang diperlukan untuk parameter fungsi luar. Jika syarat ini tidak dipenuhi, anda perlu menetapkan nilai pulangan kepada pembolehubah dan memanggil fungsi secara berasingan, seperti:

<code class="go">code, str := returnIntAndString()
doSomething("message", code, str)</code>

Kesimpulannya, sementara berbilang nilai pulangan dalam Go boleh meningkatkan kebolehgunaan semula kod, terdapat batasan apabila menghantarnya sebagai hujah kepada fungsi lain dengan kiraan parameter yang berbeza. Apabila ini berlaku, tugasan manual dan penggunaan fungsi yang berasingan diperlukan.

Atas ialah kandungan terperinci Bolehkah Berbilang Nilai Pulangan Diluluskan sebagai Argumen kepada Fungsi dengan Kiraan Parameter Berbeza 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