Skip to content

Package toolbox 封装了一些开发调试工具

Notifications You must be signed in to change notification settings

goindow/toolbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

toolbox

Package toolbox 封装了一些开发中使用的工具

索引

使用

import (
    "github.com/goindow/toolbox"
)

Dump

  • 打印变量的类型和值,支持同时打印多个变量
  • 本质是调用 fmt.Printf(),每个变量格式为 "[%T] %v\n"
toolbox.Dump(os.Getwd())

// Output:
// [string] /usr/local/var/go/src/github.com/goindow/toolbox
// [<nil>] <nil>

Trace

  • 计算函数/方法运行耗时
  • 接收返回值,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

About

Package toolbox 封装了一些开发调试工具

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages