
go
woailuo626
这个作者很懒,什么都没留下…
展开
-
kafka学习:produce消息
kafka学习:produce消息由于历史原因,我们公司用的还是比较老的kafka版本0.10.1.0,最近由于项目需要,学习了kafka的使用,学习过程中了解到的一些知识记录下,以便日后查阅;目录kafka学习:produce消息1. broker & topic & partition2. 发送消息分区选择3. 数据包格式4. golang数据封装...原创 2019-10-23 00:13:23 · 822 阅读 · 0 评论 -
golang函数实现默认参数
golang函数实现默认参数golang本身并不支持像C++那样的函数默认参数,不过可以自己实现相关方法达到默认参数的目的;以下用创建人的个人信息为例,名字必须输入,而邮箱地址和年龄可以不用输入,不输入时使用默认值,示例代码如下:package mainimport ( "fmt")type DetailInfo struct { Email string Ag...原创 2019-10-16 23:25:22 · 5458 阅读 · 0 评论 -
golang学习笔记之map元素删除
golang学习笔记之map元素删除golang map元素删除要比c++方便多了,可以直接在循环遍历的时候删除元素,而不用担心程序崩溃;示例代码如下:package mainimport ( "fmt")func main() { infoMap := make(map[int]string) infoMap[1] = "1" infoMap[2] = "2" info...原创 2019-08-10 10:32:50 · 446 阅读 · 0 评论 -
golang学习笔记之sync.Once
sync.Once主要作用是它调用的函数只会执行一遍,因此,对于资源释放的情况比较有用,因为不用担心重复执行时指针为空或者通道为空的异常异常;示例代码如下:package mainimport ( "sync")type Consumer struct { messages chan int closeOnce sync.Once}func (c *C...原创 2019-08-10 17:11:27 · 146 阅读 · 0 评论 -
golang报错:slice bounds out of range
1. 场景1slice元素删除时,由于下标越界会报错“slice bounds out of range", 代码示例如下:package mainimport ( "fmt")func main() { var numList []int numList = append(numList, 1) numList = append(numLi...原创 2019-09-17 00:24:29 · 20703 阅读 · 0 评论 -
golang nil值应用
nil主要是作为slice、map、函数、指针、interface的零值,使用时有两点需要注意:一、slice的元素清空package mainimport ( "fmt")func main() { var testList []int fmt.Println("testList1=", testList) testList = ap...原创 2019-09-23 23:52:29 · 342 阅读 · 0 评论 -
golang 静态代码检测工具golangci-lint使用
golang有没有类似于c++中的cppcheck静态代码检测工具呢?答案是有的,今天向大家推荐一个工具golangci-lint, 主要是安装和使用的时候遇到不少了坑,分享出来供大家避坑;以下是window下安装方法,结合vscode使用, 其他平台也可以参考一、常规安装方法使用命令: go get -u github.com/golangci/golangci-lint...原创 2019-09-25 18:01:01 · 13568 阅读 · 3 评论