Mengelakkan Ralat Nil Berulang Mendaftar Masuk Go
Dalam Go, adalah amalan biasa untuk menyemak ralat pada penghujung setiap panggilan fungsi, seperti yang dilihat dalam contoh berikut:
a, err := doA() if err != nil { return nil, err } b, err := doB(a) if err != nil { return nil, err } c, err := doC(b) if err != nil { return nil, err }
Walaupun pendekatan ini memastikan bahawa ralat dikendalikan dengan betul, ia boleh menjadi rumit dan berulang, terutamanya jika kod semakan ralat mengambil lebih banyak baris daripada logik sebenar.
Menangani Isu
Terdapat beberapa cara untuk menangani isu ini:
1. Terima Pengulangan
Sesetengah pengaturcara berpendapat bahawa pengulangan bukanlah satu kesulitan yang besar dan berfungsi sebagai peringatan berharga tentang kemungkinan laluan pengendalian ralat.
2. Faedah Penyemakan Ralat
Berbeza dengan pengecualian, semakan ralat eksplisit dalam Go memaksa pembangun untuk mempertimbangkan laluan ralat terlebih dahulu, memastikan pengurusan sumber dikendalikan dengan sewajarnya.
3 . Pertimbangkan Panik/Pulih
Dalam konteks tertentu, panik dan pulih boleh digunakan untuk melepaskan logik rekursif, tetapi disyorkan untuk menggunakan ini dengan berhati-hati.
4. Penyusunan Semula Kod
Penyusunan semula struktur kod kadangkala boleh mengurangkan keperluan untuk semakan ralat berulang.
err := doA() if err != nil { return err } return doB()
5. Keputusan Dinamakan (Tidak Digalakkan)
Menggunakan hasil yang dinamakan untuk mengalih keluar pembolehubah ralat daripada penyataan pulangan boleh menjejaskan kejelasan kod dan mewujudkan isu yang berpotensi.
6. Pernyataan Sebelum Keadaan Jika
Pergi jika penyata menerima kenyataan sebelum syarat, membenarkan semakan ralat sebaris:
if err := doA(); err != nil { return err }
Atas ialah kandungan terperinci Bagaimana Saya Boleh Mengelakkan Ralat Nil Membosankan Semakan Masuk Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!