代码改变世界

随笔分类 -  Golang

Nil Channels Always Block(Go语言中空管道总是阻塞)

2018-07-20 17:53 by DillGao, 513 阅读, 收藏,
摘要: Go语言中空管道总是阻塞 阅读全文

golang 千位分隔符

2018-05-03 17:34 by DillGao, 4050 阅读, 收藏,
摘要: golang 千位分隔符 阅读全文

golang 导出CSV文件中文乱码的问题

2018-04-03 19:22 by DillGao, 6678 阅读, 收藏,
摘要: golang 导出CSV文件中文乱码的问题 解决办法: 在csv文件的开头写入<!--?xml version="1.0" encoding="UTF-8"?--> UTF-8 BOM 阅读全文

Golang http post error : http: ContentLength=355 with Body length 0

2018-01-06 12:15 by DillGao, 5745 阅读, 收藏,
摘要: 参考:https://stackoverflow.com/questions/31337891/net-http-http-contentlength-222-with-body-length-0 问题阐述:在使用 golang http 包发送 post 请求时出现报错,类似 http: Cont 阅读全文

golang error (slice of unaddressable value)

2017-12-18 19:05 by DillGao, 1630 阅读, 收藏,
摘要: 使用 Golang 将生成的 md5 转化为 string 的过程出现如下编译错误: 错误解析: 值得注意的一点是 func Sum(data []byte) [Size]byte 这个函数返回的结果是数组(array)而不是切片(slice)。 用下面的例子说明,编译错误的那行是因为 [3]int 阅读全文

cannot assign to struct field xxx in map

2017-11-30 19:27 by DillGao, 7356 阅读, 收藏,
摘要: golang 中对 map 类型中的 struct 赋值报错 ./test.go:16:15: cannot assign to struct field a["tao"].age in map 原因是 map 元素是无法取址的,也就说可以得到 a["tao"], 但是无法对其进行修改。 解决办法: 阅读全文

golang http Specifically check for timeout error

2017-08-28 14:23 by DillGao, 955 阅读, 收藏,
摘要: Specifically check for timeout error 特异性识别 golang http client 的超时错误 阅读全文

golang md5 结果类型

2017-08-28 12:26 by DillGao, 1078 阅读, 收藏,
摘要: golang md5 结果类型 Note: Also note that converting a "random" slice of bytes to a string is most likely not what you want because a "random" slice of byt 阅读全文

一个有关Golang Deferred Function 执行顺序的问题

2017-05-18 18:22 by DillGao, 549 阅读, 收藏,
摘要: 先看一下一段关于defer的解释, 引自《Go程序设计语言》 大意是说: 从语法上来说,defer 声明就像一个普通函数或方法,只是加了一个关键词为defer的前缀。当defer声明语句被程序执行时,函数和参数表达式被计算,但是直到包含defer声明的函数完成之后才被真正的调用,无论函数的结束方式是 阅读全文

Golang闭包的坑

2017-03-09 19:51 by DillGao, 1426 阅读, 收藏,
摘要: team leader 发现一个Golang程序的bug,是由不正确使用闭包引起。记载一下,以作备忘。 猜猜一下程序的结果: 闭包导致的结果如下: 避免闭包: 得到想要的结果: 说到原因,还要从匿名函数说起。 什么是匿名函数? 命名函数只能在包水平声明,但是我们可以在任意表达式中使用函数字面量的形式 阅读全文

Golang new() vs make()

2017-03-09 13:15 by DillGao, 699 阅读, 收藏,
摘要: 对于Golang的new() 和 make()的用法有些混乱,感觉这篇资料讲解较好,翻译一下,方便学习! 原文地址:http://www.godesignpatterns.com/2014/04/new-vs-make.html 本文简要阐述Go语言中内建函数new()和make()的区别,主要面向 阅读全文

Golang 逐行读写之scanner.Scan

2016-12-29 19:44 by DillGao, 8915 阅读, 收藏,
摘要: Go语言实现逐行读的方法多种,本文只介绍Scaner的方法,也是go推荐的方法。 官方文档 例子: file, err := os.Open("filename") if err != nil { //error handing } defer file.Close() scanner := buf 阅读全文

Go并发控制之sync.WaitGroup

2016-12-29 18:15 by DillGao, 1904 阅读, 收藏,
摘要: WaitGroup 会将main goroutine阻塞直到所有的goroutine运行结束,从而达到并发控制的目的。使用方法非常简单,真心佩服创造Golang的大师们! type WaitGroup //相当于一个箱子,将main goroutine 保护到里面 func (*WaitGroup) 阅读全文