[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 패키지에 대한 이해는 중요합니다.

끝.