>백엔드 개발 >Golang >Go에서 소스 코드 파일 이름과 줄 번호를 어떻게 얻을 수 있나요?

Go에서 소스 코드 파일 이름과 줄 번호를 어떻게 얻을 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-12-07 09:33:20950검색

How Can I Get the Source Code File Name and Line Number in Go?

Go에서 소스 코드 파일 이름 및 줄 번호 검색

C/C와 같은 프로그래밍 언어에서 개발자는 FILELINE을 사용하여 현재 소스 코드 파일 경로와 줄 번호를 가져옵니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.