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

Go 언어는 경량화되고 빠른 실행 속도를 제공하는 프로그래밍 언어입니다. Go 언어는 특히 풍부한 표준 라이브러리와 함께 디렉토리 및 파일 조작에 필요한 기능을 제공합니다. 이 글에서는 Go 언어를 사용하여 디렉토리를 조작하는 방법을 살펴보겠습니다.

디렉토리 생성

새로운 디렉토리를 생성하는 방법은 간단합니다. os 패키지의 Mkdir 함수를 사용하여 디렉토리를 생성할 수 있습니다.

package main

import (
	"os"
)

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

위 코드에서 0755는 새로운 디렉토리의 권한을 지정합니다.

디렉토리 삭제

디렉토리를 삭제하는 것도 쉽습니다. os 패키지의 RemoveAll 함수를 이용하면 디렉토리와 하위 항목을 모두 삭제할 수 있습니다.

package main

import (
	"os"
)

func main() {
	err := os.RemoveAll("newdir")
	if err != nil {
		panic(err)
	}
}

디렉토리 읽기

디렉토리의 파일 목록을 읽어오려면 os 패키지의 ReadDir 함수를 사용합니다.

package main

import (
	"fmt"
	"os"
)

func main() {
	files, err := os.ReadDir(".")
	if err != nil {
		panic(err)
	}

	for _, file := range files {
		fmt.Println(file.Name())
	}
}

ReadDir 함수는 os.DirEntry 타입의 슬라이스를 반환합니다.

파일 이동 및 이름 변경

os 패키지의 Rename 함수를 사용하여 파일을 이동하거나 이름을 변경할 수 있습니다.

package main

import (
	"os"
)

func main() {
	err := os.Rename("oldname.txt", "newname.txt")
	if err != nil {
		panic(err)
	}
}

위의 예제는 oldname.txt 파일의 이름을 newname.txt로 변경합니다.

이렇게 Go 언어를 사용하면 파일 시스템과 상호작용하는 다양한 작업을 간단하게 처리할 수 있습니다.

위의 예제 코드는 Linux나 macOS에서 실행할 경우 동작하지만, Windows에서는 특정 변경이 필요할 수 있습니다. Windows에서는 파일 경로의 구분자로 역슬래시()를 사용하고, 파일 권한 처리도 다를 수 있습니다.

더 자세한 내용은 Go 언어 공식 문서를 참고하시기 바랍니다.