go语言调试 go语言调试框查找( 四 )


当返回了多个值,我们某些变量不想要,或实际用不到,我们可以使用 _ 来补位,例如上例的返回我们可以写成 d,_,f := test(a,b,c),我们不想要中间的返回值,可以以这种形式来舍弃掉
在参数后面以 变量 ... type 这种形式的,我们就要以判断出这是一个可变长度的参数
输出为:
在上例中,strs ...string 中,strs 的实际值是b,c,d,e,这就是一个最简单的传递可变长度的参数的例子,更多一些演变的形式 , 都非常类似
在GO中 defer 关键字非常重要,相当于面相对像中的析构函数,也就是在某个函数执行完成后,GO会自动这个;
如果在多层循环中函数里,都定义了 defer ,那么它的执行顺序是先进后出;
当某个函数出现严重错误时 ,  defer 也会被调用
输出为
这是一个最简单的测试了,当然还有更复杂的调用,比如调试程序时,判断是哪个函数出了问题 , 完全可以根据 defer 打印出来的内容来进行判断,非常快速,这种留给你们去实现
一个函数在函数体内自己调用自己我们称之为递归函数,在做递归调用时,经常会将内存给占满,这是非常要注意的 , 常用的比如,快速排序就是用的递归调用
本篇重点介绍了GO函数(func)的声明与使用 , 下一篇将介绍GO的结构 struct
go语言调试器有哪些可以去DELVE进行下载 。
关于delve工具的介绍,这里简单给大家介绍一下 。
delve在go项目及应用的开发中可以用来追踪程序中的异常代码,也可以通过打日志的方式追查问题 , 但是更重要也是非常厉害的一点,就是delve可以直接分析程序执行的情况 。这一点在后期或线上的问题排查中无疑是提供了一个非常大的便捷 。
Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言 。
Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算 。
Go的语法接近C语言 , 但对于变量的声明有所不同 。Go支持垃圾回收功能 。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础 。
采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输 。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数 。
Delve常用命令
命令功能:
dlv attach后面跟 pid,用来Debug编译好的Golang程序 。
dlv core用于 coredump 。
dlv debug后面跟要调试的 go 文件 , 进入 Debug 。
dlv testDebug test 函数 。
关于go语言调试和go语言调试框查找的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读