lib-go
常用的Lib库
kdebug
debug 工具
VarDump
类似PHP的var_dump函数的debug函数,用于输出当前变量的类型及值, 特点如下:
- 递归地输出变量的所有成员类型及值
- 采用4空格来缩进,同一缩进级别表示同一层次的变量
- 对于指针,会在同一行解引用,显示指针指向的数据结构
- 对于数组、切片、映射、字符串等类型,会显示其长度
- 在切片、数组、映射结尾,会有结束标记
//end $type
特殊标记说明:
- -->, 表示指针解引用
- ==>, 表示数组、切片、映射、字符串等类型的值
- :, 表示纯量变量或者结构体的成员等
- (), 注释数组、切片、映射、字符串的长度
使用方法
var cfg *Conf = &Conf{}
err = yaml.Unmarshal(data, cfg)
if err != nil {
return err
}
kdebug.VarDump(cfg)
输出:
[*main.Conf] --> struct[main.Conf] ==> {
[*main.Person] --> struct[main.Person] ==> {
Name [string](6) ==> "peter"
Height [int] : 180
Weight [int] : 100
} //end struct
slice[[]*main.Person](2) ==>
[*main.Person] --> struct[main.Person] ==> {
Name [string](2) ==> "p1"
Height [int] : 111
Weight [int] : 111
} //end struct
[*main.Person] --> struct[main.Person] ==> {
Name [string](2) ==> "p2"
Height [int] : 222
Weight [int] : 222
} //end struct
//end slice
} //end struct