Saya ingin memeriksa keberadaan file ./conf/app.ini
dalam kode Go saya, tetapi saya tidak dapat menemukan cara yang baik untuk melakukannya.
Saya tahu ada metode File di Java public boolean exists()
:, yang mengembalikan true jika file atau direktori ada.
Tetapi bagaimana ini bisa dilakukan di Go?
f, err := os.Open(name)
atauf, err := os.OpenFile(name,os.O_CREATE|os.O_EXCL, mode)
dan kemudian periksaos.IsNotExist(err)
).Jawaban:
Diedit untuk menambahkan penanganan kesalahan.
sumber
panic
untuk objek seperti "pengecualian" yang sebenarnya. Anda dapat "menangkap" dengan panggilan kerecover
. Secara eksplisit mengembalikanerr
nilai pengembalian kedua adalah teknik Go idiomatik yang sangat umum. Lihat: golang.org/doc/effective_go.html#errorsif _, err := os.Stat("./conf/app.ini"); err == nil { /*exists*/ } else { /*not exists or some other error*/ }
Anda bisa menggunakan ini:
Lihat: http://golang.org/pkg/os/#IsNotExist
sumber
Lebih dari FYI, karena saya melihat sekeliling selama beberapa menit berpikir pertanyaan saya adalah pencarian cepat.
Ini adalah jawaban paling populer di hasil pencarian saya, tetapi di sini dan di tempat lain solusinya hanya menyediakan pemeriksaan keberadaan. Untuk memeriksa apakah
path
mewakili direktori yang ada, saya menemukan saya dapat dengan mudah:Bagian dari masalah saya adalah bahwa saya mengharapkan
path/filepath
paket berisi fungsi isDir ().sumber
Cara sederhana untuk memeriksa apakah file ada atau tidak:
Sumber:
sumber
Ada cara sederhana untuk memeriksa apakah file Anda ada atau tidak:
sumber