[go] 경로가 상대 경로인지 절대 경로인지 판별하기

판별하기: 경로가 상대 경로인지 절대 경로인지

파일 시스템에서 경로를 사용할 때, 절대 경로와 상대 경로를 구별하는 것은 중요합니다. 상대 경로는 현재 작업 디렉토리를 기준으로 경로를 나타내며, 절대 경로는 루트 디렉토리부터 전체 경로를 나타냅니다.

방법 1: 문자열을 이용한 판별

package main

import (
	"fmt"
	"path/filepath"
)

func main() {
	path := "/usr/bin/test.txt"
	isAbs := filepath.IsAbs(path)
	if isAbs {
		fmt.Println("절대 경로입니다.")
	} else {
		fmt.Println("상대 경로입니다.")
	}
}

filepath.IsAbs 함수를 이용하여 경로가 절대 경로인지 여부를 확인할 수 있습니다.

방법 2: 패턴 매칭을 이용한 검증

패턴 매칭을 통해 경로가 절대 경로인지 확인할 수도 있습니다.

package main

import (
	"fmt"
	"regexp"
)

func main() {
	path := "/usr/bin/test.txt"
	match, _ := regexp.MatchString("^/.*", path)
	if match {
		fmt.Println("절대 경로입니다.")
	} else {
		fmt.Println("상대 경로입니다.")
	}
}

요약

절대 경로와 상대 경로는 경로를 다룰 때 중요한 요소입니다. 위의 두 가지 방법을 사용하여 경로가 상대 경로인지 절대 경로인지 판별할 수 있습니다.

더 많은 정보는 Go 언어 공식 문서를 참조하세요.