Я хочу проверить наличие файла ./conf/app.ini
в моем коде Go, но не могу найти хороший способ сделать это.
Я знаю, что в Java есть метод File:, public boolean exists()
который возвращает true, если файл или каталог существует.
Но как это сделать в Go?
f, err := os.Open(name)
илиf, err := os.OpenFile(name,os.O_CREATE|os.O_EXCL, mode)
и затем проверитьos.IsNotExist(err)
).Ответы:
Отредактировано для добавления обработки ошибок.
источник
panic
для фактического "исключения" как объект. Вы можете «поймать» звонкомrecover
. Явный возвратerr
в качестве второго возвращаемого значения - чрезвычайно распространенный идиоматический прием Go. См .: golang.org/doc/effective_go.html#errorsif _, err := os.Stat("./conf/app.ini"); err == nil { /*exists*/ } else { /*not exists or some other error*/ }
Вы можете использовать это:
См .: http://golang.org/pkg/os/#IsNotExist
источник
Скорее к вашему сведению, так как я несколько минут огляделся вокруг, думая, что мой вопрос - это быстрый поиск.
Это был самый популярный ответ в моих результатах поиска, но здесь и в других местах решения обеспечивают только проверку существования. Чтобы проверить,
path
представляет ли собой существующий каталог, я обнаружил, что могу легко:Частично моя проблема заключалась в том, что я ожидал, что
path/filepath
пакет будет содержать функцию isDir ().источник
Простой способ проверить, существует файл или нет:
Источники:
источник
Есть простой способ проверить, существует ли ваш файл или нет:
источник