[go] Go 언어의 경로를 이용한 파일 및 디렉토리 저장소 관리

Go 언어를 사용하여 파일 및 디렉토리를 다루는 것은 매우 중요한 작업입니다. os 패키지와 path/filepath 패키지를 이용하여 파일 시스템 경로를 이용하는 방법을 알아보겠습니다.

파일 생성

새로운 파일을 생성하는 것은 매우 흔한 작업입니다. 다음은 Go 언어에서 새 파일을 만드는 기본적인 예제입니다.

package main

import (
	"fmt"
	"os"
)

func main() {
	file, err := os.Create("sample.txt")
	if err != nil {
		fmt.Println(err)
		return
	}
	defer file.Close()
	fmt.Println("새 파일이 생성되었습니다.")
}

디렉토리 생성

디렉토리를 생성하는 방법도 중요합니다. 다음은 Go 언어에서 디렉토리를 만드는 예제입니다.

package main

import (
	"fmt"
	"os"
)

func main() {
	err := os.Mkdir("myfolder", 0755)
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("새 디렉토리가 생성되었습니다.")
}

파일 및 디렉토리 존재 여부 확인

파일 또는 디렉토리가 이미 존재하는지 확인하는 것은 중요한 점입니다. 다음은 Go 언어에서 파일 및 디렉토리의 존재 여부를 확인하는 방법입니다.

package main

import (
	"fmt"
	"os"
)

func main() {
	fileInfo, err := os.Stat("sample.txt")
	if err == nil {
		fmt.Println("파일이 존재합니다.")
		fmt.Println("파일 크기:", fileInfo.Size())
	} else if os.IsNotExist(err) {
		fmt.Println("파일이 존재하지 않습니다.")
	}

	dirInfo, err := os.Stat("myfolder")
	if err == nil && dirInfo.IsDir() {
		fmt.Println("디렉토리가 존재합니다.")
	} else if os.IsNotExist(err) {
		fmt.Println("디렉토리가 존재하지 않습니다.")
	}
}

파일 및 디렉토리 삭제

파일 또는 디렉토리를 삭제하는 것 또한 중요한 작업 중 하나입니다. 다음은 Go 언어에서 파일 및 디렉토리를 삭제하는 예제입니다.

package main

import (
	"fmt"
	"os"
)

func main() {
	err := os.Remove("sample.txt")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("파일이 삭제되었습니다.")

	err = os.Remove("myfolder")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("디렉토리가 삭제되었습니다.")
}

파일 및 디렉토리를 관리하는 방법에 대한 간단한 예제를 통해 Go 언어로 파일 시스템을 다루는 기본적인 기능들을 살펴보았습니다. Go 언어의 ospath/filepath 패키지에 대한 자세한 내용은 공식 문서를 참조하세요.