[go] 파일 경로 조작을 위한 filepath 패키지 기능

Go 프로그래밍 언어의 filepath 패키지는 파일 경로를 조작하고 조사하는 데 유용한 함수들을 제공합니다. 이 패키지를 사용하여 파일 시스템 내에서의 파일 경로를 쉽게 다룰 수 있습니다.

filepath 패키지 기능

filepath 패키지는 파일 경로와 관련된 다양한 작업을 수행하는 데 사용됩니다. 주요 기능은 다음과 같습니다.

  1. 파일 경로 조작
  2. 경로 분리
  3. 상대 경로 해석
  4. 경로 정규화
  5. 경로 비교

파일 경로 조작

filepath 패키지를 사용하여 파일의 경로를 쉽게 조작할 수 있습니다. 예를 들어, 파일 경로를 결합하거나 경로에서 디렉터리, 파일 이름 및 확장자를 추출할 수 있습니다.

package main

import (
    "fmt"
    "path/filepath"
)

func main() {
    dir := "/path/to/directory"
    filename := "file.txt"
    fullPath := filepath.Join(dir, filename)
    fmt.Println("Full path:", fullPath)
}

경로 분리

패키지는 파일 경로를 디렉터리 경로와 파일명으로 쉽게 나눌 수 있도록 해줍니다.

dir, file := filepath.Split("/path/to/file.txt")
fmt.Println("Directory:", dir)
fmt.Println("File:", file)

상대 경로 해석

filepath 패키지는 상대 경로를 절대 경로로 변환하거나 절대 경로를 상대 경로로 변환하는 함수도 제공합니다.

absPath, _ := filepath.Abs("relative/path/to/file.txt")
fmt.Println("Absolute path:", absPath)
relPath, _ := filepath.Rel("/base/path", "/base/path/relative/file.txt")
fmt.Println("Relative path:", relPath)

경로 정규화

패키지는 경로를 정규화하는 함수도 포함하고 있어, ../ 나 ./ 와 같은 상대 경로 구성을 제거할 수 있습니다.

cleanedPath := filepath.Clean("/path/to/../file.txt")
fmt.Println("Cleaned path:", cleanedPath)

경로 비교

filepath 패키지를 사용하여 두 경로를 비교하고 같은지 여부를 확인할 수도 있습니다.

equal := filepath.EqualFold("/path/to/file.txt", "/path/TO/FILE.TXT")
fmt.Println("Paths are equal:", equal)

이처럼 filepath 패키지는 파일 경로를 조작하고 분석하는 데 유용한 기능들을 제공합니다.

더 많은 정보를 원하시면 공식 Go 문서를 참조해주시기 바랍니다.