- Golang
我们优雅判断 interface 是否为 nil
我们先后使用了 int、*int、slice、map、interface{}、自定义结构体 来测试此 IsNil 方法。...
- Golang
在Go中构建复杂对象: 构建器模式指南
本文我们介绍了构建器模式,介绍了如何通过构建器对象构建复杂业务对象的方法。...
- Golang
Go 内存优化与垃圾收集
Go提供了自动化的内存管理机制,但在某些情况下需要更精细的微调从而避免发生OOM错误。本文将讨论Go的垃圾收集器、应用程序内存优化以及如何防止OO...
- Golang
Go语言常见错误—Any 没传递任何信息
Go语言的强类型性在一定程度上避免了运行时类型错误的可能,增加了代码的安全性。然而,过于通用的interface{}类型也可能引发any没传递任何信息的问...
- Golang
Go语言常见错误—将接口定义在实现方一侧
在Go语言中正确地使用接口是至关重要的,它需要开发者具备良好的软件设计理念。记住,定义接口的最佳位置是在使用它们的地方,而不是在实现它们的...
- Golang
依赖Kafka的Go单元测试例解
对于Kafka这样的复杂系统来说,找到合适的fake object并不容易。因此,本文推荐使用容器作为fake object的策略,并分别介绍了使用testcontainers-go项目和使用d...
- Golang
在Go编程中调用外部命令的几种场景
在Go的标准库中, 专门提供了os/exec包来对调用外部程序提供支持, 本文将对调用外部命令常用的几种场景进行总结。...
- Golang
在 Fiber 中处理请求和响应
本文我们将探讨在Fiber中处理HTTP请求的细节,并了解错误处理和为健壮的Web应用程序制定错误响应。...
- Golang
Go语言常见错误 | 误用init函数
init函数有其明确的用途,主要是为了初始化包中的数据,但误用可能带来很多问题。开发者应当谨慎使用init,避免在其中执行复杂逻辑、进行IO操作等...
- Golang
从错误中学习:了解 Go 编程的六个坏习惯
Go编程的某些实践容易被误用或忽视,了解这些特性的特点和陷阱,可以帮助我们编写更好的代码。...
- Golang
Golang流水线设计模式实践
到目前为止,我已经将Golang整合到项目中有一段时间了,Golang是一种非常强大的语言,我渴望在其生态系统中进一步磨练技能。 基于项目的特定需求,我需...
- Golang
Go 语言中 defer 使用时有哪些陷阱?
本文主要介绍在使用 defer 语句时可能会遇到的陷阱。分别是 defer 语句不可以在 return 语句之后;defer 语句执行的匿名函数,匿名函数的参数会被预先...
- Golang
Go语言中的面向对象编程(OOP)
在Go语言中,虽然没有像面向对象语言那样的类,但通过结构体类型和方法,仍然支持部分面向对象编程(OOP)的概念。 封装(Encapsulation) 封装是一种将...
- Golang
用Go实现一个HTTP代理服务器
通过本文,我们了解了HTTP代理服务器的基本工作原理,并通过使用Go语言实现的示例代码得以实际应用。...
- Golang
Go语言之父的反思:我们做对了什么,做错了什么
也许这些问题最有趣的结果是,无论是谁编写的Go代码的外观和工作原理都是一样的,基本上没有使用该语言的不同子集的派系,并且保证随着时间的推移...
- Golang
一个例子,给你讲透典型的Go并发控制
Go中可以使用一个go关键字让程序异步执行,一个比较常见的场景:逐个异步调用多个函数,或者循环中异步调用...