Go에서 소스 파일 디렉터리에 있는 파일에 액세스
Go 프로그램을 작성할 때 소스 파일과 동일한 디렉터리에 있는 파일에 액세스할 수 있습니다. 도전해 보세요. 소스 파일이 실행 중인 바이너리와 공존하는 해석된 언어와 달리, 컴파일된 Go 프로그램은 실행 중에 소스 파일이 존재할 필요가 없습니다.
기본 파일 경로 조회
기본적으로 os.Open()과 같은 함수는 다음 환경 변수에 의해 정의된 현재 작업 디렉터리(PWD)에서 파일을 찾습니다.
$PWD: /dir
"myfile. txt"를 사용하여:
<code class="go">os.Open("myfile.txt")</code>
Go는 현재 작업 디렉토리 "/dir"에서 "myfile.txt"를 검색합니다.
내장 디렉토리 재배치 부족
Go는 소스 파일과 동일한 디렉터리에 있는 파일을 자동으로 찾는 내장 메커니즘을 제공하지 않습니다. Ruby의 FILE에 해당하는 기능은 Go에 존재하지 않습니다.
그러나 Runtime.Caller 함수는 컴파일 타임에 파일 이름에 대한 액세스를 제공합니다.
<code class="go">filepath := runtime.Caller(0)</code>
대체 접근 방식
자동 파일 경로 검색에 의존하는 대신 대체 접근 방식을 고려하세요.
<code class="go">import "path/filepath" const __FILE__ = filepath.Join(filepath.Dir(runtime.Caller(0)), "src.go")</code>
위 내용은 Go 소스 파일과 동일한 디렉토리에 있는 파일에 어떻게 액세스합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!