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 중국어 웹사이트의 기타 관련 기사를 참조하세요!