Quiero verificar la existencia del archivo ./conf/app.ini
en mi código Go, pero no puedo encontrar una buena manera de hacerlo.
Sé que hay un método de archivo en Java: public boolean exists()
que devuelve verdadero si el archivo o directorio existe.
Pero, ¿cómo se puede hacer esto en Go?
f, err := os.Open(name)
of, err := os.OpenFile(name,os.O_CREATE|os.O_EXCL, mode)
luego verificaros.IsNotExist(err)
).Respuestas:
Editado para agregar manejo de errores.
fuente
panic
para una "excepción" real como objeto. Puede "atrapar" con una llamada arecover
. Devolver explícitamente unerr
como segundo valor de retorno es una técnica de Go extremadamente común e idiomática. Ver: golang.org/doc/effective_go.html#errorsif _, err := os.Stat("./conf/app.ini"); err == nil { /*exists*/ } else { /*not exists or some other error*/ }
Puedes usar esto:
Ver: http://golang.org/pkg/os/#IsNotExist
fuente
Más para tu información, ya que miré a mi alrededor durante unos minutos pensando que mi pregunta sería una búsqueda rápida.
Esta fue la respuesta más popular en mis resultados de búsqueda, pero aquí y en otros lugares las soluciones solo proporcionan verificación de existencia. Para verificar si
path
representa un directorio existente, descubrí que podría fácilmente:Parte de mi problema era que esperaba que el
path/filepath
paquete contuviera la función isDir ().fuente
Manera simple de verificar si el archivo existe o no:
Fuentes:
fuente
Hay una manera simple de verificar si su archivo existe o no:
fuente