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:
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!