[go] Go 언어의 path 패키지 사용법

Go 언어의 path 패키지는 파일 경로를 조작하고 검색하는 데 사용됩니다. 이 패키지를 사용하여 파일 경로의 구성 요소를 추출하거나 경로 간의 상대적 위치를 결정할 수 있습니다.

경로 추출

파일 경로에서 디렉터리 경로, 파일 이름, 확장자 등을 추출할 수 있습니다.

package main

import (
    "fmt"
    "path"
)

func main() {
    dir, file := path.Split("/path/to/file.txt")
    fmt.Println("디렉터리 경로:", dir)
    fmt.Println("파일 이름:", file)

    ext := path.Ext("/path/to/file.txt")
    fmt.Println("확장자:", ext)
}

경로 조합

여러 개의 경로 요소를 결합하여 새로운 경로를 생성할 수 있습니다.

package main

import (
    "fmt"
    "path"
)

func main() {
    newPath := path.Join("/path", "to", "file.txt")
    fmt.Println("새로운 경로:", newPath)
}

path.Join 함수를 사용하여 여러 개의 경로 요소를 결합할 때 슬래시가 자동으로 처리되므로 OS에 상관없이 올바른 경로를 생성할 수 있습니다.

경로 검색

파일 경로가 절대 경로인지 상대 경로인지 확인하고 기준 경로를 기반으로 상대 경로를 해석할 수 있습니다.

package main

import (
    "fmt"
    "path/filepath"
)

func main() {
    isAbs := filepath.IsAbs("/path/to/file.txt")
    fmt.Println("절대 경로:", isAbs)

    rel, err := filepath.Rel("/path", "/path/to/file.txt")
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println("상대 경로:", rel)
    }
}

filepath.IsAbs 함수를 사용하여 절대 경로 여부를 확인하고, filepath.Rel 함수를 사용하여 두 경로 간의 상대적인 위치를 계산할 수 있습니다.

path 패키지는 파일 경로를 다양한 방식으로 조작하고 검색하는 강력한 기능을 제공합니다.

더 자세한 정보는 Go 공식 문서를 확인하시기 바랍니다.