Mengembalikan Ralat daripada Goroutines melalui Saluran
Apabila melaksanakan fungsi dalam goroutine, ia menjadi perlu untuk mengendalikan ralat dengan cekap. Dalam Go, fungsi sering mengembalikan nilai dan ralat, seperti yang ditunjukkan oleh fungsi createHashedPassword:
func createHashedPassword(password string) (string, error) { // Code }
Untuk menghantar kedua-dua data dan ralat daripada goroutine, adalah perkara biasa untuk menggunakan saluran. Walau bagaimanapun, persoalan timbul: bagaimanakah kita boleh menangani ralat dengan berkesan?
Penyelesaian terletak pada mencipta struktur data tersuai, seperti struct Hasil, untuk merangkumi output dan ralat:
type Result struct { Message string Error error }
Setelah struktur ini ditakrifkan, kami boleh membuat saluran dan menggunakannya untuk komunikasi:
ch := make(chan Result)
Dengan saluran ini tersedia, goroutine boleh menulis objek Hasil yang mengandungi mesej dan ralat, memastikan pengendalian data dan ralat yang cekap antara tugas serentak.
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Ralat daripada Goroutines dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!