[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 언어 공식 문서를 참고하시기 바랍니다.