[go] Go 언어의 경로를 이용한 파일 및 디렉토리 검색
Go 언어를 사용하여 파일 및 디렉토리를 검색하고 처리하는 경우, filepath
패키지의 함수 및 메서드를 활용하여 작업을 할 수 있습니다. 이 포스트에서는 Go 언어로 파일과 디렉토리 검색을 진행하는 방법에 대해 알아보겠습니다.
경로를 기반으로 파일 및 디렉토리 검색하기
파일 및 디렉토리 검색을 위해서는 filepath
패키지에서 제공하는 함수와 메서드를 사용합니다. 이를 이용하여 특정 경로에서 파일 및 디렉토리를 검색할 수 있습니다.
package main
import (
"fmt"
"os"
"path/filepath"
)
func main() {
root := "/path/to/search/directory"
err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
fmt.Println(path, info.IsDir())
return nil
})
if err != nil {
fmt.Printf("Error walking the path %v: %v\n", root, err)
}
}
위의 예제는 filepath.Walk
함수를 사용하여 지정된 경로 아래의 모든 파일과 디렉토리를 방문하고 출력하는 예제 코드입니다.
파일 및 디렉토리 검색 시 활용 가능한 방법
Go 언어를 사용하여 파일 및 디렉토리를 검색하는 경우에는 다양한 방법과 옵션이 있습니다. 예를 들어, 파일 및 디렉토리 내에서 특정 패턴의 파일을 검색하거나 특정 조건을 만족하는 파일을 찾는 등의 작업이 가능합니다.
package main
import (
"fmt"
"os"
"path/filepath"
"strings"
)
func main() {
root := "/path/to/search/directory"
err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
if strings.HasSuffix(path, ".txt") {
fmt.Println(path, info.IsDir())
}
return nil
})
if err != nil {
fmt.Printf("Error walking the path %v: %v\n", root, err)
}
}
위의 예제는 filepath.Walk
를 이용하여 특정 패턴의 파일을 검색하는 예제 코드입니다.
마치며
Go 언어의 filepath
패키지를 이용하여 파일 및 디렉토리를 검색하는 방법에 대해 알아보았습니다. 이러한 방법을 응용하여 원하는 작업을 할 수 있으며, 해당 패키지의 다양한 함수와 메서드를 활용하여 파일 처리 및 작업을 보다 효율적으로 수행할 수 있습니다.
더 많은 정보 및 예제는 Go 언어 공식 문서를 참고하시기 바랍니다.