[go] 경로 정규화
Go 언어에서 경로를 다루다보면 경로를 정규화해야 하는 경우가 생깁니다. 정규화란 상대 경로를 절대 경로로 변경하거나, 중복된 경로 구분자를 제거하는 것을 말합니다. Go 언어에서는 path/filepath
패키지를 사용하여 경로를 정규화할 수 있습니다.
상대 경로를 절대 경로로 변환하기
path/filepath
패키지의 Abs
함수를 사용하여 상대 경로를 절대 경로로 변환할 수 있습니다.
예를 들어 다음과 같이 사용할 수 있습니다:
package main
import (
"fmt"
"path/filepath"
)
func main() {
relPath := "dir/subdir/file.txt"
absPath, _ := filepath.Abs(relPath)
fmt.Println(absPath)
}
이 코드는 dir/subdir/file.txt
라는 상대 경로를 절대 경로로 변환하여 출력합니다.
정규화된 경로 가져오기
때로는 중복된 경로 구분자를 제거하여 경로를 깔끔하게 만들어야 할 때가 있습니다. path/filepath
패키지의 Clean
함수를 사용하여 이를 수행할 수 있습니다.
예를 들어 아래와 같이 사용할 수 있습니다:
package main
import (
"fmt"
"path/filepath"
)
func main() {
uncleanPath := "path/to/some//dir"
cleanPath := filepath.Clean(uncleanPath)
fmt.Println(cleanPath)
}
이 코드는 중복된 경로 구분자를 제거하고 정규화된 경로를 출력합니다.
이와 같이 path/filepath
패키지를 사용하여 Go 언어에서 경로를 정규화할 수 있습니다.
참고문서: https://pkg.go.dev/std/path/filepath