包含标签 golang 的文章

一步步提升Go语言生成随机字符串的效率

假如我们要生成一个固定长度的随机字符串,包含大小写字母,没有数字,没有特殊字符串,那么我们怎么做呢?需要怎样优化,才会更简单,更高效?在最终的方案之前,我们看看最常见的写法是怎样的,然后是如何一步步演进到最终的高效率方案的。好吧,先看下最原始的方案。 常见做法(Runes) func init() { rand.Seed(time.Now().UnixNano())……

阅读全文

Go语言(golang)新发布的1.13中的Error Wrapping深度分析

2019.09.03日,Golang 1.13版本发布,这次更新算是比较大的了,有大家期待的GOPROXY和GOPRIVATE等,具体的可以去看这个版本的 Go 1.13 Release Notes。 Go 1.13发布的功能还有一个值得深入研究的,就是对Error的增强,也是今天我们要分析的 Error Wrapping. 背景 做Go语言开发……

阅读全文

Go语言经典库使用分析(八)| 变量数据结构调试利器 go-spew

我们在使用Golang(Go语言)开发的过程中,会通过经常通过调试的方式查找问题的原因,解决问题,尤其是当遇到一个很棘手的问题的时候,就需要知道一段代码在执行的过程中,其上下文的变量对应的数据,以便进行推测出问题的原因。 对于这类调试,我们用的比较多的一个是断点调试,还有是通过打印……

阅读全文

Go语言(golang)的错误(error)处理的推荐方案

对于Go语言(golang)的错误设计,相信很多人已经体验过了,它是通过返回值的方式,来强迫调用者对错误进行处理,要么你忽略,要么你处理(处理也可以是继续返回给调用者),对于golang这种设计方式,我们会在代码中写大量的if判断,以便做出决定。 func main() { conent,err:=ioutil.ReadFile("filepath") if err !=nil{ //错误处理 }else { fmt.Println(string(conent)) }……

阅读全文

Go语言slice的本质-SliceHeader

今天最热的事情,莫过于微信7.0的发布,增加了短视频,优化了看一看等功能,本来想跟着个热度,蹭个流量,后来发现各位大佬都已经开始蹭了,就算了,还是谈谈Go语言(golang)吧,看来要成为一个合格的自媒体,还是不要矜持,任重道远啊。 前两天有朋友(Weelin)在我的公众号上留言,……

阅读全文

【译】Go 语言实践:编写可维护的程序的建议

译者注 本文为 QCon 2018 上海站主题演讲嘉宾、Heptio 资深工程师、著名 Go 语言专家 David Cheney 关于 Go 语言实践的英文分享。为方便大家阅读,在此由 Austin Luo 翻译为中文,在文中难以理解之处,也特别增加了译者的理解说明。翻译水平有限,如有偏颇之处,烦请联系我(uonun@163.com)更正。转载请注明出处,……

阅读全文

Go语言开发者福利 - 国内版 The Go Playground

作为Go语言开发者,我们都知道,Golang为我们提供了一个在线的、可以运行Go语言代码的、可以分享Go语言代码的平台,这个平台就是 The Go Playground ,网址是 https://play.golang.org/。 这个平台有很多好处,比较重要的就是我们在讨论Go语言问题的时候,可以通过 The Go Playground 分享和……

阅读全文

Go语言字符串高效拼接(三)

在上一篇关于字符串拼接的文章Go语言字符串高效拼接(二) 中,我们终于为Builder拼接正名了,果真不负众望,尤其是拼接的字符串越来越多时,其性能的优越性更加明显。 在上一篇的结尾中,我留下悬念说其实还有优化的空间,这就是今天这篇文章,字符串拼接系列的第三篇,也是字符串拼接的最后一……

阅读全文

Go语言字符串高效拼接(二)

在上一篇关于字符串拼接的文章 Go语言字符串高效拼接(一) 中,我们演示的多种字符串拼接的方式,并且使用一个例子来测试了他们的性能,通过对比发现,我们觉得性能高的Builder并未发挥出其应该的性能,反而+号拼接,甚至strings.Join方法的性能更优越,那么这到底是什么原因呢?……

阅读全文

最近文章

福利派送

分类

标签

友情链接

其它