Go의 `filepath.Glob` 함수는 패턴 매칭을 사용하여 파일 및 디렉토리를 찾는 강력한 방법을 제공합니다. 이 함수는 일치하는 파일 경로 슬라이스와 오류를 반환합니다. 오류 처리는 간단하며, 유일한 오류는 패턴 구문이 잘못되었을 때 발생하는 `filepath.ErrBadPattern`입니다. 이 함수는 기본적으로 현재 작업 디렉토리에서 작동하지만, 패턴에 절대 또는 상대 경로를 지정할 수 있습니다. 패턴 구문은 익숙한 쉘 globbing 관례를 기반으로 하지만 특정 규칙과 제한 사항이 있습니다. 와일드카드 문자, 문자 클래스 및 범위를 사용하여 파일 이름과 확장자를 일치시킬 수 있습니다. 이 함수는 심볼릭 링크를 따라가지 않으며 파일 시스템에 실제로 존재하는 경로만 반환합니다. `io/fs` 패키지는 Go 1.16에서 `GlobFS` 인터페이스를 도입하여 파일 시스템이 최적화된 glob 구현을 제공할 수 있도록 했습니다. 네이티브 glob 구현은 특히 대규모 디렉토리 구조에서 수동 순회보다 훨씬 뛰어난 성능을 발휘할 수 있습니다. 파일 시스템이 `GlobFS`를 구현하지 않으면 Go는 자동으로 디렉토리 순회 구현으로 대체됩니다.
dev.to
Pattern Matching with Glob: Finding Files by Pattern 5/9
