[go] 파일 경로 매칭 및 검색 알고리즘
Go언어에서 파일 경로를 매칭하고 검색하는 애플리케이션을 개발할 때 사용할 수 있는 파일 경로 매칭 알고리즘에 대해 알아보겠습니다.
1. 정규식을 이용한 파일 경로 매칭
정규식은 Go에서 파일 경로를 매칭하는 강력한 도구입니다. regexp
패키지를 사용하여 정규식을 구현하고 파일 경로를 매칭할 수 있습니다.
다음은 정규식을 사용하여 특정 패턴의 파일을 매칭하는 예제 코드입니다.
package main
import (
"fmt"
"regexp"
)
func main() {
files := []string{"file1.txt", "file2.jpg", "doc1.docx", "data.csv"}
pattern := `.*\.txt$`
r, _ := regexp.Compile(pattern)
for _, file := range files {
if r.MatchString(file) {
fmt.Println(file)
}
}
}
2. Walk 함수를 이용한 파일 경로 검색
Go의 filepath
패키지에는 파일 시스템을 순회하며 파일 경로를 검색하는 Walk
함수가 있습니다. 이 함수를 사용하여 특정 디렉토리에서 원하는 파일을 검색할 수 있습니다.
다음은 Walk
함수를 사용하여 특정 디렉토리에서 특정 확장자의 파일을 검색하는 예제 코드입니다.
package main
import (
"fmt"
"os"
"path/filepath"
)
func main() {
root := "/path/to/directory"
extension := ".txt"
err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
if !info.IsDir() && filepath.Ext(path) == extension {
fmt.Println(path)
}
return nil
})
if err != nil {
fmt.Println(err)
}
}
결론
Go 언어에서 파일 경로 매칭과 검색을 위한 강력한 도구들을 활용하여 파일 시스템 작업을 효율적으로 수행할 수 있습니다. 정규식과 filepath
패키지를 활용하여 파일 경로 매칭 및 검색 알고리즘을 구현할 수 있으며, 이러한 기능들을 활용하여 다양한 파일 시스템 작업을 수행할 수 있습니다.
참고 문헌:
내부 링크: