2012-02-21 2 views

답변

32

OS 특정 경로를 만들고 조작하려면 os.PathSeparatorpath/filepath 패키지를 직접 사용하십시오.

대체 방법은 프로그램 전체에 항상 '/'path 패키지를 사용하는 것입니다. path 패키지는 OS와 관계없이 경로 구분 기호로 '/'을 사용합니다. 파일을 열거 나 만들기 전에 /를 분리 한 경로를 filepath.FromSlash(path string)을 호출하여 OS 관련 경로 문자열로 변환합니다. OS에 의해 반환 된 경로는 filepath.ToSlash(path string)을 호출하여/분리 된 경로로 변환 할 수 있습니다.

0

go에는 파일 경로 결합 및 분할을위한 path 패키지가 있지만 사용하지 않아도됩니다. Go는 보편적 인 분리 자로 슬래시를 처리합니다. "directory/subdirectory/file.txt"은 런타임 운영 체제와 상관없이 올바르게 열립니다.

+1

Windows에서 사용해 보셨습니까? –

+0

@Atom 저는 Windows 컴퓨터를 소유하고 있지 않습니다. [Russ Cox가 Go는 '/'를 모든 플랫폼의 경로 구분 기호로 취급합니다.] (http://groups.google.com/group/golang-nuts/browse_thread/thread/5527660c2d860ca3), 나에게 충분히 좋은 것 같습니다. – Jjed

+1

Russ님께 서 2010-01-09에이 의견을 남겼습니다. 그 이후로 경로 처리에 몇 가지 변경 사항이 있습니다. http://golang.org/doc/devel/weekly.html#2011-03-07 –

13

path 대신 path/filepath을 사용하십시오. path은 슬래시로 구분 된 경로 (예 : URL에 사용 된 경로) 만 사용하고 path/filepath은 다른 운영 체제에서 경로를 조작합니다.

+0

정답으로 표시해야하며 이해하기 쉽습니다. 어디서나 파일 경로를 사용하고 이익을 얻으십시오! – QtRoS

관련 문제