Go에서 소스 코드 파일 이름 및 줄 번호 검색
C/C와 같은 프로그래밍 언어에서 개발자는 FILE 및 LINE을 사용하여 현재 소스 코드 파일 경로와 줄 번호를 가져옵니다. Go도 비슷한 기능을 제공하나요?
답변:
물론입니다. Go는 현재 함수의 소스 코드 파일 이름과 줄 번호에 액세스하기 위해 Runtime.Caller라는 내장 함수를 제공합니다.
구현:
런타임을 활용합니다. 호출자, 선택적 정수 인수를 사용하여 호출할 수 있습니다.
func GetSourceInfo(skip int) (string, int) { _, thisFile, thisLine, ok := runtime.Caller(skip) if !ok { return "", 0 } return thisFile, thisLine }
건너뛰기 매개변수는 호출 스택에서 몇 개의 레이어를 호출할지 지정합니다. 상승. 예를 들어, Skip=0은 현재 함수에 대한 소스 정보를 반환하고, Skip=1은 현재 함수 호출자에 대한 소스 정보를 반환하는 식입니다.
사용 예:
import ( "fmt" "runtime" ) func main() { file, line := GetSourceInfo(1) fmt.Println("Calling function:", file, line) }
출력:
Calling function: /path/to/my/file.go 12
위 내용은 Go에서 소스 코드 파일 이름과 줄 번호를 어떻게 얻을 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!