Package toolbox 封装了一些开发中使用的工具
import (
"github.com/goindow/toolbox"
)
- 打印变量的类型和值,支持同时打印多个变量
- 本质是调用 fmt.Printf(),每个变量格式为 "[%T] %v\n"
toolbox.Dump(os.Getwd())
// Output:
// [string] /usr/local/var/go/src/github.com/goindow/toolbox
// [<nil>] <nil>
- 计算函数/方法运行耗时
- 接收返回值,ret := trace(func2),ret 类型为 []reflect.value
// 无参函数
trace(func1)
// 有返回值
ret := trace(fun2) // retInt := ret[0].Int()
// 有参函数
trace(func4, 3, true)
// 有参方法
trace(new(reflectStruct).func4, 5, false)
// Output:
// call: main.func1
// time: 52.561µs
//
// call: main.func2
// time: 57.324µs
//
// call: main.func4
// time: 18.698µs
//
// call: main.(*reflectStruct).func4-fm
// time: 4.168µs