[go] Go 언어의 디렉토리 경로 조작
Go 언어에는 파일 및 디렉토리를 다루는 데에 유용한 내장 패키지들이 많이 존재합니다. 특히, os
와 path/filepath
패키지는 파일 시스템과 관련된 다양한 작업을 수행할 수 있도록 지원합니다. 이번 글에서는 Go 언어를 사용하여 디렉토리를 생성, 탐색 및 조작하는 방법에 대해 살펴보겠습니다.
디렉토리 생성
프로그램에서 디렉토리를 생성하려면 다음과 같이 os
패키지의 Mkdir
함수를 사용합니다.
package main
import (
"os"
)
func main() {
err := os.Mkdir("new_dir", 0755)
if err != nil {
panic(err)
}
}
위 코드는 현재 작업 디렉토리에 new_dir
이라는 디렉토리를 생성합니다.
디렉토리 읽기
특정 디렉토리의 내용을 읽으려면 os
와 path/filepath
패키지를 사용할 수 있습니다. 다음은 모든 파일과 디렉토리를 출력하는 예제입니다.
package main
import (
"fmt"
"os"
"path/filepath"
)
func main() {
root := "path/to/directory"
err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
fmt.Println(path)
return nil
})
if err != nil {
panic(err)
}
}
위 코드에서 Walk
함수는 지정된 경로의 모든 파일 및 디렉토리에 대해 함수를 호출합니다.
디렉토리 삭제
디렉토리를 삭제하려면 os
패키지의 RemoveAll
함수를 사용합니다.
package main
import (
"os
)
func main() {
err := os.RemoveAll("dir_to_delete")
if err != nil {
panic(err)
}
}
위 코드는 dir_to_delete
디렉토리를 삭제합니다.
결론
Go 언어를 사용하여 파일 및 디렉토리를 다루는 방법을 살펴보았습니다. os
와 path/filepath
패키지를 사용하여 다양한 디렉토리 조작 작업을 수행할 수 있습니다. 이를 응용하여 각각의 프로젝트에 맞는 디렉토리 조작 로직을 작성할 수 있을 것입니다.