Rumah >pembangunan bahagian belakang >Golang >Mengapa Pergi Membenarkan Parameter Fungsi Tidak Digunakan Sementara Bahasa Lain Tidak?
Parameter Fungsi yang Tidak Digunakan dalam Go
Tidak seperti pembolehubah tempatan, Go membenarkan pengkompil membina atur cara walaupun ia mengandungi parameter fungsi yang tidak digunakan. Tingkah laku ini berbeza daripada bahasa seperti C, di mana pembolehubah yang tidak digunakan mengakibatkan ralat penyusunan.
Sebab perkara ini telah menjadi perdebatan. Walau bagaimanapun, seperti yang dijelaskan dalam perbincangan mengenai kacang golang, ia berpunca daripada kepercayaan bahawa:
Parameter yang tidak digunakan menyediakan dokumentasi penting, membantu pemahaman walaupun tidak digunakan secara eksplisit dalam fungsi. Contohnya:
func foo(param_a int, param_b int) int { return param_a }
Walaupun param_b tidak digunakan, kehadirannya menyampaikan maksud fungsi tersebut. Ini amat berfaedah dalam kes seperti:
func Distance(node1, node2 Node) int { return 1 }
Di sini, Jarak beroperasi pada graf berwajaran dengan kos seragam merentas semua tepi. Walaupun nod tidak digunakan, ia adalah penting untuk menjelaskan tujuan fungsi dan berfungsi sebagai dokumentasi.
Walaupun sesetengah pihak berpendapat bahawa hanya parameter yang tidak digunakan yang dinamakan sebagai garis bawah (_), harus dibenarkan, perubahan ini akan bercanggah dengan Go's jaminan keserasian masa hadapan. Selain itu, dihujahkan bahawa parameter yang tidak digunakan, walaupun tidak digunakan dalam fungsi, boleh menyediakan dokumentasi yang berharga.
Akhirnya, keputusan untuk membenarkan parameter fungsi yang tidak digunakan adalah praktikal, berdasarkan keseimbangan yang dirasakan antara kegunaan dan ralat pengaturcaraan. Rasional khusus mungkin tidak didokumenkan secara eksplisit, tetapi ia berasaskan realiti praktikal pembangunan perisian dalam Go.
Atas ialah kandungan terperinci Mengapa Pergi Membenarkan Parameter Fungsi Tidak Digunakan Sementara Bahasa Lain Tidak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!