Go 测试提示和技巧
原文地址: https://medium.com/@povilasve/go-advanced-tips-tricks-a872503ac859 这篇文章是基于维尔纽斯Go见面会做的整理。 我看了很多博客并把他们内容整理以下。首先我要感谢哪些收集所有的想法并在社区分享给大家。我这篇文章有用到下
原文地址: https://medium.com/@povilasve/go-advanced-tips-tricks-a872503ac859 这篇文章是基于维尔纽斯Go见面会做的整理。 我看了很多博客并把他们内容整理以下。首先我要感谢哪些收集所有的想法并在社区分享给大家。我这篇文章有用到下
原文地址:Go Range Loop Internals Go range是非常方便的,但是我总感觉它非常的神秘。不只是我这样认为: #golang pop quiz: does this program terminate? func main() { v := []int{1, 2, 3} for i := range v { v = append(v, i) } } — Dαve Cheney (@davecheney) January 13, 20
原文地址:Go 编译时断言 这篇文章介绍一个鲜为人知的在Go中编译时断言的方法。你可能不会用到它,但是了解下也是非常有趣的。 作为热身,这是一个相当知名的编译时断言的方法:接口满足性检查。 在下面的代码中(playgro
原文地址:How to use slice capacity and length in Go 简短测试 - 下面代码输出结果是什么? vals := make([]int, 5) for i:=0; i < 5; i++ { vals = append(vals, i) } fmt.Println(vals) 如果你猜是 [0 0 0 0 0 0 1 2 3 4],那么你是对的。 什么?为什么不是[0 1 2
原文地址:Why are slices sometimes altered when passed by value in Go? 在我的上篇博客中我们讨论了array 和 slice 的一些不同之处。换句话说,我们讨论了为什么slice 既有长度也有容量,但是array只有长度。我们也简短地介绍了slice是如何使用
原文地址:How To Gracefully Close Channels 几天前我写了一篇介绍 GO 语言 channel 的文章,文章在reddit和HN上收到很多赞。 我搜集了一些关于 Go channels 设计和规则方面的评论: 除了主动去关闭一个 channel 外,并没有一种简单并且通用的