[go] 파일 경로 처리

이 블로그 포스트에서는 Go 프로그래밍 언어를 사용하여 파일 경로를 다루는 방법을 살펴보겠습니다.

파일 경로 생성

Go에서 파일 경로를 다루기 위해서는 path/filepath 패키지를 사용합니다.

package main

import (
	"fmt"
	"path/filepath"
)

func main() {
	dir := "/usr/local"
	file := "file.txt"
	filePath := filepath.Join(dir, file)
	fmt.Println(filePath)
}

위 예제에서는 path/filepath 패키지의 Join 함수를 사용하여 디렉토리와 파일 이름을 결합하여 파일 경로를 생성합니다.

상대 경로 및 절대 경로

Go에서는 상대 경로를 절대 경로로 변환하거나 절대 경로를 상대 경로로 변환하는 기능을 제공합니다.

package main

import (
	"fmt"
	"path/filepath"
)

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

위 예제에서는 path/filepath 패키지의 Abs 함수를 사용하여 상대 경로를 절대 경로로 변환합니다.

경로 분리

경로에서 디렉토리와 파일 이름을 분리하기 위해서는 path/filepath 패키지의 Split 함수를 사용합니다.

package main

import (
	"fmt"
	"path/filepath"
)

func main() {
	path := "/usr/local/file.txt"
	dir, file := filepath.Split(path)
	fmt.Println("Directory:", dir)
	fmt.Println("File:", file)
}

위 예제에서는 path/filepath 패키지의 Split 함수를 사용하여 경로를 디렉토리와 파일로 분리합니다.

위의 내용은 Go에서 파일 경로를 생성하고 다루는 기본적인 방법에 대한 것입니다. 더 복잡한 파일 경로 다루기에 대한 기능은 Go 표준 라이브러리의 path/filepath 패키지 문서를 참고하시기 바랍니다.

참고 자료