[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
패키지를 사용하면 파일 경로를 다루고 조작하는 일이 매우 간편해집니다. 이를 통해 파일 시스템 작업을 수행하는 프로그램을 개발할 때 편리하게 사용할 수 있습니다.
이상으로 Go 언어의 파일 경로 다루기에 대해 알아보았습니다. 감사합니다.