[go] Go 언어의 파일 경로 다루기

Go 언어는 파일과 디렉토리를 다루는데 유용한 기능들을 제공합니다. 파일 경로를 다루기 위한 표준 라이브러리인 path/filepath 패키지는 이들 작업을 할 수 있는 다양한 함수들을 제공합니다.

이번 글에서는 Go 언어를 사용하여 파일 경로를 다루고 조작하는 방법에 대해 알아보겠습니다.

파일 경로 구분자

Go 언어에서 파일 경로 구분자는 슬래시(/)입니다. 예를 들어, 윈도우 시스템의 경우 경로가 C:\Users\user\file.txt와 같이 역슬래시(\)로 표시되지만, Go 언어에서는 이를 C:/Users/user/file.txt로 표시합니다.

절대 경로와 상대 경로

Go 언어에서 파일 경로는 크게 절대 경로와 상대 경로로 나눌 수 있습니다. 절대 경로는 루트 디렉토리부터 시작하는 경로이고, 상대 경로는 현재 작업 디렉토리를 기준으로 하는 경로입니다.

path/filepath 패키지의 Abs 함수를 사용하여 상대 경로를 절대 경로로 변환할 수 있습니다.

package main

import (
	"fmt"
	"path/filepath"
)

func main() {
	relPath := "dir/file.txt"
	absPath, err := filepath.Abs(relPath)
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Println(absPath)
	}
}

파일 경로 조작

path/filepath 패키지에는 파일 경로를 조작하는 다양한 함수들이 제공됩니다. 예를 들어, 파일의 확장자를 구하는 함수나 디렉토리 경로와 파일 이름을 분리하는 함수 등이 있습니다.

package main

import (
	"fmt"
	"path/filepath"
)

func main() {
	path := "/Users/user/file.txt"
	dir := filepath.Dir(path)
	file := filepath.Base(path)
	ext := filepath.Ext(path)

	fmt.Println("Dir:", dir)
	fmt.Println("File:", file)
	fmt.Println("Ext:", ext)
}

결론

Go 언어의 path/filepath 패키지를 사용하면 파일 경로를 다루고 조작하는 일이 매우 간편해집니다. 이를 통해 파일 시스템 작업을 수행하는 프로그램을 개발할 때 편리하게 사용할 수 있습니다.

참조: GoLang - path/filepath

이상으로 Go 언어의 파일 경로 다루기에 대해 알아보았습니다. 감사합니다.