>백엔드 개발 >Golang >Go에서 파일 존재 여부를 어떻게 확인할 수 있나요?

Go에서 파일 존재 여부를 어떻게 확인할 수 있나요?

Barbara Streisand
Barbara Streisand원래의
2024-12-26 21:28:10834검색

How Can I Check for File Existence in Go?

Go에서 파일 존재 확인

Go에서 파일 작업을 할 때 추가 작업을 진행하기 전에 파일이 존재하는지 확인해야 하는 경우가 많습니다. . Python의 os.path.exists와 달리 Go 표준 라이브러리는 이 목적을 위한 직접적인 기능을 제공하지 않습니다.

파일 존재를 확인하는 관용적인 방법

파일 존재 여부를 확인하려면 파일이 존재하지 않습니다:

if _, err := os.Stat("/path/to/whatever"); errors.Is(err, os.ErrNotExist) {
  // path/to/whatever does not exist
}

파일이 있는지 확인하려면 존재함:

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
}

설명

os.Stat 함수는 파일의 속성을 나타내는 FileInfo 객체를 반환하거나 파일이 존재하지 않는 경우 오류를 반환합니다. error.Is 함수를 사용하여 오류를 os.ErrNotExist와 비교하면 파일이 존재하지 않는지 다른 오류인지 구분할 수 있습니다.

주의

사용을 피하세요. 파일 존재 여부를 테스트하기 위해 os.IsNotExist(예: !os.IsNotExist(err))를 부정합니다. 경우에 따라 예상치 못한 동작이 발생할 수 있습니다.

위 내용은 Go에서 파일 존재 여부를 어떻게 확인할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.