[go] 경로 상대적으로 변환
파일 경로를 다룰 때 상대적인 경로 변환은 매우 유용합니다. 상대적인 경로 변환을 통해 파일이나 디렉토리의 위치를 기준으로 다른 위치에 있는 파일을 참조할 수 있습니다.
현재 작업 디렉토리 확인
먼저 현재 작업 디렉토리를 확인해야 합니다. Go 언어에서는 os
패키지를 사용하여 현재 작업 디렉토리를 확인할 수 있습니다.
package main
import (
"fmt"
"os"
)
func main() {
wd, err := os.Getwd()
if err != nil {
fmt.Println(err)
return
}
fmt.Println("Current working directory:", wd)
}
상대적인 경로 변환
이제 상대적인 경로를 변환하는 예제를 살펴보겠습니다. Go 언어에서는 path/filepath
패키지를 사용하여 상대적인 경로를 변환할 수 있습니다.
package main
import (
"fmt"
"path/filepath"
)
func main() {
absPath, err := filepath.Abs("/Users/johndoe/Documents/example.txt")
if err != nil {
fmt.Println(err)
return
}
wd, err := os.Getwd()
if err != nil {
fmt.Println(err)
return
}
relPath, err := filepath.Rel(wd, absPath)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("Relative path:", relPath)
}
위 예제에서는 먼저 절대 경로를 구한 후, 현재 작업 디렉토리와의 상대적인 경로를 구합니다. 이를 통해 다른 위치에 있는 파일에 대한 상대적인 경로를 쉽게 얻을 수 있습니다.
결론
Go 언어에서는 path/filepath
패키지를 활용하여 상대적인 경로를 구할 수 있습니다. 현재 작업 디렉토리를 확인하고, Rel
함수를 사용하여 절대 경로를 상대적인 경로로 쉽게 변환할 수 있습니다.
참고 자료
- Go 언어 공식 문서: path/filepath 패키지