标签:Go语言

Coding

云原生系列Go语言篇-泛型

云原生系列Go语言篇-泛型
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。“Don’t Repeat Yourself”是常见的软件工程建议。与其重新创建一个数据结构或函数,不如重用它,因为对重复的代码保持更改同步非常困难。在像 Go 这样的强类型语言中,每个函数参数及每个结构体字段的类型必须在编译时确定。这种严格性使编译器能够帮助验证代码是否正确,但有时……继续阅读 »

Alan 1年前 (2023-09-07) 1310浏览 0评论0个赞

Coding

云原生系列Go语言篇-编写测试

云原生系列Go语言篇-编写测试
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。2000年以来,自动化测试的广泛应用可能比任何其他软件工程技术都更能提高代码质量。Go是一种专注于提高软件质量的语言和生态系统,很自然的在其标准库中包含了测试支持。Go中测试代码非常容易,没有理由不添加测试。本章中,读者将了解如何测试Go代码,将测试分组为单元测试和集成测试,检查测试……继续阅读 »

Alan 1年前 (2023-08-31) 1794浏览 0评论0个赞

Coding

云原生系列Go语言篇-上下文

云原生系列Go语言篇-上下文
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。服务端需要一种处理单个请求元数据的方式。这些元数据可以分为两大类别:一种是在正确处理请求时所需的元数据,另一种是关于何时停止处理请求的元数据。例如,HTTP服务器可能希望使用追踪ID来标识一系列通过一组微服务的请求。它还可能希望设置一个计时器,在对其他微服务的请求时间过长时,就结束这……继续阅读 »

Alan 1年前 (2023-06-30) 1523浏览 0评论0个赞

Coding

云原生系列Go语言篇-标准库

云原生系列Go语言篇-标准库
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。使用Go进行开发的最大优势之一是其标准库。与Python类似,Go也采取了“内置电池”的理念,提供了构建应用程序所需的许多工具。由于Go是一种相对较新的语言,它附带了一个专注于现代编程环境中遇到的问题的库。我们无法涵盖所有标准库包,所幸也不需要,因为有许多优秀的信息源可以了解标准库……继续阅读 »

Alan 1年前 (2023-06-09) 1336浏览 0评论0个赞

Coding

云原生系列Go语言篇-Go语言的23种设计模式

云原生系列Go语言篇-Go语言的23种设计模式
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。GoF(Gang of Four),GoF都是知名的软件工程师并且在面向对象编程和软件设计领域具有丰富的经验。他们于上世纪90年代一起在IBM的T.J.华生研究中心工作。这四人也即Erich Gamma、Richard Helm、Ralph Johnson和John Vlisside……继续阅读 »

Alan 2年前 (2023-03-28) 1251浏览 0评论1个赞

Coding

云原生系列Go语言篇-并发

云原生系列Go语言篇-并发
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。并发是一个计算机科学用语,将一个进程分割成独立组件并指明这些组件如何安全共享数据。大部分语言通过库提供并发,使用的是尝试通过获取锁操作执行系统级共享数据的线程。Go独树一帜。它的主要并发模块,很多认认为是Go的最著名的特性,基于CSP(通讯顺序过程)。它依据快速排序算法的发明人Ton……继续阅读 »

Alan 2年前 (2023-03-26) 1584浏览 0评论0个赞

Coding

云原生系列Go语言篇-模块、包和导入

云原生系列Go语言篇-模块、包和导入
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。大部分编程语言都有将代码组织到命名空间和库的系统,Go也不例外。在学习其它特性时我们看到了,Go对这些老思想引入了新方法。本章中,读者会学习到如何通过包和模块组织代码、如何导入、如何使用第三方库以及如何创建自有库。仓库、模块和包Go语言的库管理有三个基础概念:仓库、模块和包。所有……继续阅读 »

Alan 2年前 (2023-03-12) 1670浏览 0评论0个赞

Coding

云原生系列Go语言篇-类型、方法和接口

云原生系列Go语言篇-类型、方法和接口
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。通过前面章节的学习,我们知道Go是一种静态类型语言,包含有内置类型和用户定义类型。和大部分现代编程语言一样,Go允许我们对类型关联方法。它也具备类型抽象,可以编写没有显式实现的方法。然而,Go处理方法、接口和类型的方式与现行大部分其它语言大相径庭。Go的设计者鼓励软件开发者所提倡的……继续阅读 »

Alan 2年前 (2023-02-25) 1466浏览 0评论0个赞

Coding

云原生系列Go语言篇-错误处理

云原生系列Go语言篇-错误处理
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。从其它语言转Go最大的挑战之一就是错误处理。对那些习惯了使用异常的开发者,Go采取的方法有些离经叛道。但Go语言使用的方法蕴含着牢不可破的软件工程原理。本章中,我们学习如何在Go中处理错误。我们会学习Go系统中会停止执行的错误处理panic和recover。错误处理基础在函数一章……继续阅读 »

Alan 2年前 (2023-02-18) 1935浏览 1评论0个赞

Coding

云原生系列Go语言篇-指针

云原生系列Go语言篇-指针
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。我们已学习过变量和函数,下面来快速了解下指针的语法。然后我们通过将Go中的指针与其它语言中的类进行对比来讲清指针的原理。我们还会学习如何以及何时使用指针、Go中如何分配内存以及正确使用指针及值是如何使Go程序变得更快速、更高效的。指针快速入门指针其实就一个存储了值所在内存位置的变……继续阅读 »

Alan 2年前 (2023-02-06) 1253浏览 0评论0个赞