[go] Go 언어에서 경로 조작을 위한 기능
GO 언어는 파일과 디렉토리를 다루는데 매우 유용한 표준 라이브러리를 제공합니다. 이를 활용하여 다양한 파일 시스템 작업을 간단하게 수행할 수 있습니다.
1. 경로 조작
GO의 path/filepath
패키지는 파일 경로를 다루는데 필요한 함수를 제공합니다. 이 패키지를 활용하면 경로를 조작하고 검증하는 작업을 편리하게 수행할 수 있습니다.
package main
import (
"fmt"
"path/filepath"
)
func main() {
// Join: 디렉토리 경로와 파일명을 결합
dir := "/usr/local"
file := "file.txt"
fullPath := filepath.Join(dir, file)
fmt.Println(fullPath)
// Base: 주어진 경로의 마지막 요소를 반환
fmt.Println(filepath.Base(fullPath))
// IsAbs: 절대 경로 여부 확인
fmt.Println(filepath.IsAbs(fullPath))
// Clean: 경로를 표준 형식으로 정리
uncleanPath := "/../usr/local/./file.txt"
cleanedPath := filepath.Clean(uncleanPath)
fmt.Println(cleanedPath)
}
2. 파일 및 디렉토리 작업
GO의 os
패키지는 파일 및 디렉토리와 관련된 다양한 기능을 제공합니다. 파일 생성, 삭제, 이동 등 다양한 작업을 수행할 수 있습니다.
package main
import (
"fmt"
"os"
)
func main() {
// Mkdir: 디렉토리 생성
err := os.Mkdir("/path/to/directory", 0755)
if err != nil {
fmt.Println(err)
}
// Create: 파일 생성
file, err := os.Create("/path/to/file.txt")
if err != nil {
fmt.Println(err)
}
defer file.Close()
// Rename: 파일 이동 또는 이름 변경
err = os.Rename("/old/file.txt", "/new/file.txt")
if err != nil {
fmt.Println(err)
}
// Remove: 파일 또는 디렉토리 삭제
err = os.Remove("/path/to/file.txt")
if err != nil {
fmt.Println(err)
}
}
GO 언어를 사용하면 파일 및 디렉토리를 다루는데 필요한 다양한 작업을 쉽게 수행할 수 있습니다.
참고 문헌
- GO 공식 문서: https://golang.org/pkg/path/filepath/
- GO 표준 라이브러리: https://golang.org/pkg/os/