Mengembalikan Kawalan dalam Fungsi Anak
Apabila memanggil fungsi anak daripada fungsi induk, pelaksanaan biasanya diteruskan dalam fungsi induk selepas anak fungsi kembali. Walau bagaimanapun, dalam beberapa situasi, kita mungkin mahu menamatkan pelaksanaan dalam fungsi induk berdasarkan hasil panggilan fungsi anak.
Pertimbangkan contoh berikut:
func apiEndpoint() { if false { apiResponse("error") // Call child function // Expect to end execution after apiResponse() call } apiResponse("all good") } func apiResponse(message string) { // Returns message to user via JSON }
Dalam contoh ini, kami mahu fungsi apiEndpoint menamatkan pelaksanaannya jika fungsi apiResponse dipanggil dengan mesej "ralat". Walau bagaimanapun, kod seperti sedia ada tidak mencapai matlamat ini.
Penghadan Fungsi Kanak-kanak
Keterbatasan utama di sini ialah fungsi kanak-kanak tidak boleh mengawal pelaksanaannya fungsi ibu bapa. Fungsi induk menentukan aliran pelaksanaannya sendiri.
Penyelesaian Alternatif
Terdapat cara alternatif untuk mencapai tingkah laku yang diingini:
func apiEndpoint() { if false { apiResponse("error") } else { apiResponse("all good") } }
func apiEndpoint() string { if false { return apiResponse("error") } return apiResponse("all good") } func apiResponse(message string) string { return message }
Atas ialah kandungan terperinci Bagaimanakah Fungsi Anak Boleh Menjejaskan Perlaksanaan Fungsi Ibu Bapa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!