我对于 Golang 设计模式中不同的理解

设计模式,自打我开始学习编程起,这就是一个津津乐道的话题。怎么编写好味道的代码,如何写出合适的设计代码帮助项目更容易理解,代码更简洁,这是我在项目中常常思考的问题。在golang 中有和其他语言不同的区别。例如函数作为一等公民,goroutine , chan 等特性,对于这些特性我思考如何能够编写适用于 golang 中的设计模式,而不是一味的套用着老思想的设计模式,以下是针对开源项目 go-patterns 的理解。

(译) Uber Go 风格指南

Uber 是一家美国硅谷的科技公司,也是 Go 语言的早期 adopter。其开源了很多 golang 项目,诸如被 Gopher 圈熟知的 zapjaeger 等。2018 年年末 Uber 将内部的 Go 风格规范 开源到 GitHub,经过一年的积累和更新,该规范已经初具规模,并受到广大 Gopher 的关注。本文是该规范的中文版本。本版本会根据原版实时更新。

TOP-K 问题的终极算法 - BFPRT 算法

TOP-K 问题,从一堆无序数据里面找到前 K 大(当然也可以是前 K 小的数。我可以用堆排序或者快速排序可以做到,但是时间复杂度为 O(NlogN), 这里就不多说了。BFPRT 算法,该算法于1973年由 Blum、Floyd、Pratt、Rivest 和 Tarjan 联合发明,其中蕴含的深刻思想改变了世界。BFPRT 算法解决了这样一个问题,在时间复杂度 O(N)内,从无序的数组中找到第 K 小的数。

完全弄懂 KMP 算法

在大学时期,学习 KMP 算法感觉自己好似懂,但是好似又不懂,书里看的云里雾里不知所起然,最近对算法重新进行学习,对于 KMP 算法有了更深刻的理解。

Golang 面试题

整理了一些面试题,关于go语言面试会考的东西,顺便整理自己的知识体系。

得到 Golang 程序的汇编代码的方法

有多种方式可以获得Go程序的汇编代码, 尽管输出的格式有些不同,但是都是方便阅读的汇编代码,可以帮助我们更好的了解程序的底层运行方式。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×