Rumah > pembangunan bahagian belakang > Golang > Bagaimana Saya Boleh Mendapatkan Nama Fail Kod Sumber dan Nombor Baris dalam Go?

Bagaimana Saya Boleh Mendapatkan Nama Fail Kod Sumber dan Nombor Baris dalam Go?

Susan Sarandon
Lepaskan: 2024-12-07 09:33:20
asal
915 orang telah melayarinya

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

Mengambil Nama Fail Kod Sumber dan Nombor Baris dalam Go

Dalam bahasa pengaturcaraan seperti C/C , pembangun boleh memanfaatkan FAIL dan LINE untuk mendapatkan laluan fail kod sumber semasa dan nombor baris. Adakah Go menawarkan fungsi yang serupa?

Jawapan:

Sudah tentu. Go menyediakan fungsi terbina dalam dipanggil runtime.Caller untuk mengakses nama fail kod sumber dan nombor talian bagi fungsi semasa.

Pelaksanaan:

Untuk menggunakan masa jalan. Pemanggil, anda boleh memanggilnya dengan hujah integer pilihan:

func GetSourceInfo(skip int) (string, int) {
    _, thisFile, thisLine, ok := runtime.Caller(skip)
    if !ok {
        return "", 0
    }
    return thisFile, thisLine
}
Salin selepas log masuk

Parameter langkau menentukan bilangan lapisan atas timbunan panggilan untuk naik. Sebagai contoh, skip=0 akan mengembalikan maklumat sumber untuk fungsi semasa, skip=1 akan mengembalikan maklumat sumber untuk pemanggil fungsi semasa dan seterusnya.

Contoh Penggunaan:

import (
    "fmt"
    "runtime"
)

func main() {
    file, line := GetSourceInfo(1)
    fmt.Println("Calling function:", file, line)
}
Salin selepas log masuk

Output:

Calling function: /path/to/my/file.go 12
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana Saya Boleh Mendapatkan Nama Fail Kod Sumber dan Nombor Baris dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan