[go] go 언어의 파일 경로 처리
Go 언어는 파일과 디렉터리를 다루는데 편리한 기능을 제공합니다. 이 포스트에서는 Go 언어에서 파일 경로를 다루는 방법에 대해 알아보겠습니다.
파일 경로 표현
파일 경로는 운영 체제에 따라 표현하는 방법이 다릅니다. Go 언어는 내부 패키지 path/filepath
를 통해 이러한 차이를 추상화하여 동일한 코드로 여러 운영 체제에서 동작하도록 지원합니다.
package main
import (
"fmt"
"path/filepath"
)
func main() {
path := filepath.Join("dir", "subdir", "file.txt")
fmt.Println("파일 경로:", path)
}
위 예제에서 filepath.Join
함수를 사용하여 파일 경로를 생성했습니다. 이 함수는 각 세그먼트를 운영 체제 구분자로 연결하여 알맞은 파일 경로를 생성합니다.
기본적인 파일 경로 조작
Go 언어는 기본적인 파일 경로 조작 기능을 제공합니다. filepath
패키지를 사용하여 파일 경로를 조작할 수 있습니다.
package main
import (
"fmt"
"path/filepath"
)
func main() {
absPath, _ := filepath.Abs("file.txt")
dir := filepath.Dir(absPath)
base := filepath.Base(absPath)
fmt.Println("절대 경로:", absPath)
fmt.Println("디렉터리:", dir)
fmt.Println("파일 이름:", base)
}
위 예제에서 filepath.Abs
, filepath.Dir
, filepath.Base
함수를 사용하여 파일의 절대 경로, 디렉터리, 파일 이름을 추출했습니다.
경로 분석
파일 경로를 분석하여 디렉터리와 파일의 정보를 얻을 수 있습니다. filepath
패키지의 함수를 이용하면 간단하게 정보를 추출할 수 있습니다.
package main
import (
"fmt"
"path/filepath"
)
func main() {
path := "/dir/subdir/file.txt"
dir, file := filepath.Split(path)
ext := filepath.Ext(file)
fmt.Println("디렉터리:", dir)
fmt.Println("파일 이름:", file)
fmt.Println("확장자:", ext)
}
위 예제에서 filepath.Split
, filepath.Ext
함수를 사용하여 파일 경로를 분석했습니다.
결론
Go 언어의 filepath
패키지를 이용하면 다양한 운영 체제에서 파일 경로를 안전하고 편리하게 다룰 수 있습니다. 파일 및 디렉터리를 다루는 어플리케이션을 개발할 때 filepath
패키지에 대한 이해는 중요합니다.
끝.