Go Standard Library 학습 노트 - 플랫폼 간 파일 경로 (filepath)

개술filepath 패키지의 기능은 path 패키지와 유사하지만 서로 다른 운영체제에 더 좋은 지원을 제공한다.파일 path 패키지는 서로 다른 운영체제의 파일 경로에 따라 자동으로 변환될 수 있기 때문에 플랫폼을 뛰어넘는 수요가 있으면 사용해야 한다filepath.path 패키지와 같은 함수filepath 패키지의 함수는 path 패키지와 유사하다. 그 중에서 대응하는 함수의 기능은 같지만 플랫폼을 뛰어넘을 수 있고 하나는 할 수 없기 때문에 상세하게 전개하지 않고 path에서 이 함수에 대한 상세한 설명을 얻을 수 있다.주요 함수는 다음과 같습니다.
  • func Base(path string) string
  • func Dir(path string) string
  • func Ext(path string) string
  • func Join(elem …string) string
  • func Split(path string) (dir, file string)

  • 기타 함수
    나머지 두 가지 함수는 말할 가치가 있다. 하나는 Abs 함수로 하나의 파일 경로를 절대 경로로 변환할 수 있다.함수 선언은 다음과 같습니다.
    func Abs(path string) (string, error)

    또 하나는 Walk 함수로 filepath 패키지의 다른 함수와 달리 파일 경로 문자열을 조작하지 않고 더 많은 파일 정보를 접근할 수 있다.이 함수는 디렉토리의 각 하위 경로에 대한 반복 액세스를 통해 두 개의 매개변수를 수신합니다. 하나는 경로 이름이고 다른 하나는 반복 함수WalkFunc입니다. 함수는 다음과 같습니다.
    func Walk(root string, walkFn WalkFunc) error
    
    type WalkFunc func(path string, info os.FileInfo, err error) error

    WalkFunc는 현재 하위 경로, 경로의 FileInfo 객체, 액세스 오류 정보 등 세 가지 매개변수를 수신합니다.다음은 현재 디렉토리의 모든 파일을 인쇄한 간단한 예입니다.
    package main
    
    import (
        "path/filepath"
        "os"
        "fmt"
    )
    
    func main() {
    
        filepath.Walk(".", func(path string, info os.FileInfo, err error) error {
            if err != nil {
                return err
            }
            fmt.Println(info.Name())
            return nil
        })
    }

    더 많은 GO 표준 라이브러리 내용은 go-doc-zh 참조

    좋은 웹페이지 즐겨찾기