1. 程式人生 > >Go列印函式名/檔名/行號

Go列印函式名/檔名/行號

package main
import ("fmt";"runtime")

/*
golang 的runtime庫,提供Caller函式,可以返回執行時正在執行的檔名和行號:
函式定義:
func Caller(skip int) (pc uintptr, file string, line int, ok bool) {}

函式用法:
_, file, line, ok := runtime.Caller(0)
*/

func main() {
  funcName,file,line,ok := runtime.Caller(0)
  if(ok){
	fmt.Println("func name: " + runtime.FuncForPC(funcName).Name())
	fmt.Printf("file: %s, line: %d\n",file,line)
   }
}