Introduction
runpoint
is a package for getting runtime environment.
Getting started
Use case 1
Simplified functions.
package main
import (
"fmt"
"github.com/thecxx/runpoint"
)
func main() {
fmt.Printf("Current package: %s\n", runpoint.Package())
fmt.Printf("Current file: %s\n", runpoint.File())
fmt.Printf("Current line: %d\n", runpoint.Line())
}
Use case 2
Generate runpoint.PCounter
object at run point via runpoint.PC()
.
package main
import (
"fmt"
"github.com/thecxx/runpoint"
)
func main() {
pc := runpoint.PC()
fmt.Printf("Package: %s\n", pc.Package())
fmt.Printf("File: %s\n", pc.File())
fmt.Printf("Line: %d\n", pc.Line())
pc.Frames(func(f runpoint.Frame) {
fmt.Printf("Package: %s\n", f.Package())
fmt.Printf("File: %s\n", f.File())
fmt.Printf("Line: %d\n", f.Line())
})
}
Examples
// PackFull() // example: github.com/thecxx/runpoint
// Package() // example: runpoint
// FuncFull() // example: github.com/thecxx/runpoint.(PCounter).FuncFull
// Receiver() // example: PCounter
// FuncLong() // example: (PCounter).FuncFull
// Function() // example: FuncFull
// Dir()
// File()
// Filename()
// Line()