[go] Go 언어의 디렉토리 경로 조작

Go 언어에는 파일 및 디렉토리를 다루는 데에 유용한 내장 패키지들이 많이 존재합니다. 특히, ospath/filepath 패키지는 파일 시스템과 관련된 다양한 작업을 수행할 수 있도록 지원합니다. 이번 글에서는 Go 언어를 사용하여 디렉토리를 생성, 탐색 및 조작하는 방법에 대해 살펴보겠습니다.

디렉토리 생성

프로그램에서 디렉토리를 생성하려면 다음과 같이 os 패키지의 Mkdir 함수를 사용합니다.

package main

import (
	"os"
)

func main() {
	err := os.Mkdir("new_dir", 0755)
	if err != nil {
		panic(err)
	}
}

위 코드는 현재 작업 디렉토리에 new_dir이라는 디렉토리를 생성합니다.

디렉토리 읽기

특정 디렉토리의 내용을 읽으려면 ospath/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 언어를 사용하여 파일 및 디렉토리를 다루는 방법을 살펴보았습니다. ospath/filepath 패키지를 사용하여 다양한 디렉토리 조작 작업을 수행할 수 있습니다. 이를 응용하여 각각의 프로젝트에 맞는 디렉토리 조작 로직을 작성할 수 있을 것입니다.