Rumah >pembangunan bahagian belakang >Golang >Bagaimana Saya Boleh Semak Kewujudan Fail dalam Go?
Menyemak Kewujudan Fail dalam Go
Apabila bekerja dengan fail dalam Go, selalunya perlu untuk menentukan sama ada fail wujud sebelum meneruskan operasi selanjutnya . Tidak seperti os.path.exists Python, perpustakaan standard Go tidak menyediakan fungsi langsung untuk tujuan ini.
Cara Idiomatik untuk Semak Kewujudan Fail
Untuk menyemak sama ada fail tidak wujud:
if _, err := os.Stat("/path/to/whatever"); errors.Is(err, os.ErrNotExist) { // path/to/whatever does not exist }
Untuk menyemak sama ada fail wujud:
if _, err := os.Stat("/path/to/whatever"); err == nil { // path/to/whatever exists } else if errors.Is(err, os.ErrNotExist) { // path/to/whatever does *not* exist } else { // Schrodinger: file may or may not exist. See err for details. // Therefore, do *NOT* use !os.IsNotExist(err) to test for file existence }
Penjelasan
Fungsi os.Stat mengembalikan objek FileInfo yang mewakili atribut fail atau ralat jika fail itu tidak wujud. Dengan menggunakan fungsi errors.Is untuk membandingkan ralat dengan os.ErrNotExist, anda boleh membezakan antara fail yang tidak sedia ada dan ralat lain.
Awas
Elakkan menggunakan penafian os.IsNotExist (cth., !os.IsNotExist(err)) untuk menguji fail kewujudan, kerana ia boleh membawa kepada tingkah laku yang tidak dijangka dalam beberapa kes.
Atas ialah kandungan terperinci Bagaimana Saya Boleh Semak Kewujudan Fail dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!