Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Fungsi Anak Boleh Menjejaskan Perlaksanaan Fungsi Ibu Bapa?

Bagaimanakah Fungsi Anak Boleh Menjejaskan Perlaksanaan Fungsi Ibu Bapa?

Patricia Arquette
Patricia Arquetteasal
2024-11-16 06:55:03839semak imbas

How Can Child Functions Affect Parent Function Execution?

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:

  • Gunakan Blok if-else: Gantikan keadaan if dengan blok if-else:
func apiEndpoint() {
    if false {
        apiResponse("error")
    } else {
        apiResponse("all good")
    }
}
  • Gunakan Nilai Pulangan: Jika anak berfungsi mengembalikan nilai, kita boleh menggunakannya sebagai nilai pulangan fungsi induk:
func apiEndpoint() string {
    if false {
        return apiResponse("error")
    }

    return apiResponse("all good")
}

func apiResponse(message string) string {
    return message
}
  • Nota: Panic-recover bukanlah penyelesaian yang boleh dipercayai dalam hal ini senario.

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!

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