本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。GoF(Gang of Four),GoF都是知名的软件工程师并且在面向对象编程和软件设计领域具有丰富的经验。他们于上世纪90年代一起在IBM的T.J.华生研究中心工作。这四人也即Erich Gamma、Richard Helm、Ralph Johnson和John Vlisside……继续阅读 » Alan 2个月前 (03-28) 226浏览 0评论1个赞
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。并发是一个计算机科学用语,将一个进程分割成独立组件并指明这些组件如何安全共享数据。大部分语言通过库提供并发,使用的是尝试通过获取锁操作执行系统级共享数据的线程。Go独树一帜。它的主要并发模块,很多认认为是Go的最著名的特性,基于CSP(通讯顺序过程)。它依据快速排序算法的发明人Ton……继续阅读 » Alan 2个月前 (03-26) 175浏览 0评论0个赞
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。大部分编程语言都有将代码组织到命名空间和库的系统,Go也不例外。在学习其它特性时我们看到了,Go对这些老思想引入了新方法。本章中,读者会学习到如何通过包和模块组织代码、如何导入、如何使用第三方库以及如何创建自有库。仓库、模块和包Go语言的库管理有三个基础概念:仓库、模块和包。所有……继续阅读 » Alan 3个月前 (03-12) 200浏览 0评论0个赞
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。通过前面章节的学习,我们知道Go是一种静态类型语言,包含有内置类型和用户定义类型。和大部分现代编程语言一样,Go允许我们对类型关联方法。它也具备类型抽象,可以编写没有显式实现的方法。然而,Go处理方法、接口和类型的方式与现行大部分其它语言大相径庭。Go的设计者鼓励软件开发者所提倡的……继续阅读 » Alan 3个月前 (02-25) 166浏览 0评论0个赞
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。从其它语言转Go最大的挑战之一就是错误处理。对那些习惯了使用异常的开发者,Go采取的方法有些离经叛道。但Go语言使用的方法蕴含着牢不可破的软件工程原理。本章中,我们学习如何在Go中处理错误。我们会学习Go系统中会停止执行的错误处理panic和recover。错误处理基础在函数一章……继续阅读 » Alan 4个月前 (02-18) 368浏览 1评论0个赞
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。我们已学习过变量和函数,下面来快速了解下指针的语法。然后我们通过将Go中的指针与其它语言中的类进行对比来讲清指针的原理。我们还会学习如何以及何时使用指针、Go中如何分配内存以及正确使用指针及值是如何使Go程序变得更快速、更高效的。指针快速入门指针其实就一个存储了值所在内存位置的变……继续阅读 » Alan 4个月前 (02-06) 259浏览 0评论0个赞
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。学到现在,我们的程序都局限于main函数中的寥寥数行。是时候搞点更大的动作了。本章中我们会学习如何在Go语言中编写函数以及函数那些有趣的功能。声明及调用函数读者只要使用过C、Python、Ruby或JavaScript等编程语言,那么对Go函数的基础也不会陌生。(Go中还有方法,……继续阅读 » Alan 5个月前 (01-06) 400浏览 0评论0个赞
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。前面我们已经讲解了变量、常量和内置类型,下一步要学习程序逻辑和组织方式了。我们会先讲解代码块,以及代码块如何控制某个标识符的可用性。然后我们一起学习Go语言的控制结构:if、for和switch。最后我们会讨论goto,以及使用它的场景。代码块Go允许在多处声明变量。可以在函数外……继续阅读 » Alan 5个月前 (12-28) 568浏览 0评论0个赞
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。在上一篇文章中,我们学习了一些简单类型:数值、布尔值和字符串。本文中我们会学习 Go 中的复合类型、它们所支持的内置函数以及使用的最佳实践。数组-古板不宜直接使用和大部分编程语言一样,Go语言也有数组。但在 Go 中很少直接使用数组。一会我们就知道个中缘由了,但我们首先来快速讲解……继续阅读 » Alan 6个月前 (12-04) 506浏览 0评论0个赞
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。经过前面的学习,我们已配置好了环境,下面就要学习Go语言的特性以及如何最好地使用。在探寻到“最好”的方式之前,有一条首要原则:按照清晰表达意图的方式编写代码。在讲解这些特性的过程中,我们会看来哪些选择以及为什么某个方法能产生更整洁的代码。我们会先学习基础类型和变量。虽然每个程序员都……继续阅读 » Alan 6个月前 (11-29) 405浏览 0评论0个赞