[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 언어를 사용하면 파일 및 디렉토리를 다루는데 필요한 다양한 작업을 쉽게 수행할 수 있습니다.

참고 문헌