Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah anda menggunakan penegasan jenis untuk mengakses maklumat khusus daripada *os.PathError dalam Go?
Memahami ralat.(*os.PathError) dalam Go
Semasa meneroka dokumentasi Go tentang ralat berkesan, anda menemui baris "err .(*os.PathError)" dan tertanya-tanya apa maksudnya.
Apakah itu err.(*os.PathError)?
Fungsi os.Create mengembalikan ralat sebagai nilai pulangan kedua, melaksanakan antara muka ralat { Error() string }. Apabila anda cuba mencipta fail dengan os.Create, ia mengembalikan ralat jika ia menghadapi isu.
Khususnya, jika anda cuba mencipta fail apabila tiada ruang yang tinggal pada peranti, pakej os mengembalikan *os.PathError sebagai pelaksanaan ralat. Untuk mengakses maklumat tambahan tentang ralat di luar kaedah Ralat(), anda perlu menukarnya.
Taip Penegasan
Pernyataan "e, ok := err. (os.PathError)" melaksanakan penegasan jenis. Ia menyemak sama ada nilai antara muka ralat mengandungi os.PathError sebagai jenis konkritnya. Jika ya, ia menetapkan os.PathError kepada e dan menetapkan ok kepada benar. Jika tidak, ia memberikan nilai sifar os.PathError (yang nil) kepada e dan menetapkan ok kepada palsu.
Penggunaan
Dalam kod yang anda berikan , anda sedang mencari kod ralat ENOSPC, yang menunjukkan bahawa tiada ruang yang tersisa pada peranti. Jika ralat yang dikembalikan oleh os.Create sepadan dengan kod ini, anda boleh melaksanakan tugas pembersihan untuk mengosongkan sedikit ruang dan kemudian cuba mencipta fail itu semula.
Atas ialah kandungan terperinci Bagaimanakah anda menggunakan penegasan jenis untuk mengakses maklumat khusus daripada *os.PathError dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!