【置顶】Go语言学习之路/Go语言教程
《Go语言学习之路》博客目录。
2015年底我因为工作原因接触到了Go语言,那时网上关于Go语言的学习资料不多,我就边学边记笔记,一直坚持到现在。我把自己学习Go语言的笔记发布出来是希望能给Go语言社区出一点绵薄之力,帮助更多的人加入Gopher大家庭。
总结Go语言学习之路,提供免费的Go语言学习教程,希望与大家一起学习进步。
《Go语言学习之路》博客目录。
2015年底我因为工作原因接触到了Go语言,那时网上关于Go语言的学习资料不多,我就边学边记笔记,一直坚持到现在。我把自己学习Go语言的笔记发布出来是希望能给Go语言社区出一点绵薄之力,帮助更多的人加入Gopher大家庭。
Redis 是开发中常用的高性能缓存数据库。除了常规的 GET/SET 操作,Redis 还支持通过 Lua 脚本实现复杂的原子操作。本文将带你循序渐进地学习如何在 Go 语言中,利用 go-redis 执行 Lua 脚本,并进一步讲解脚本缓存(script load)与 Go 的 embed
特性的结合使用。
在 Go 语言的开发实践中,我们经常需要处理各种依赖关系,例如,一个 service
层可能依赖一个或多个 repository
层。如何优雅地管理这些依赖,是我们在项目开发中需要重点关注的问题。一个好的依赖管理方案,可以显著提高代码的可读性、可维护性和可测试性。
在处理大量数据时,数据压缩是优化存储和传输效率的重要手段。在 Go 语言中,我们可以通过自定义 JSON 的 Marshal 方法,实现在数据入库前自动进行 gzip 压缩,从而减少存储空间占用并提高传输效率。
chromedp 是一个基于 Go 语言开发的 Chrome/Chromium 浏览器自动化工具,通过 DevTools Protocol 实现高效页面控制。
Pulsar 是一种分布式消息流平台,具有高性能、可扩展性和多租户支持,适用于实时数据处理和消息传递。
Go Protobuf 新增了一套 Opaque API,通过生成不透明结构体和实现惰性解码,来减少消息体内存占用并提高性能。
很多流行的编程语言中都以某种方式提供迭代器,其中包括 C++、Java、Javascript、Python 和 Rust。Go 语言现在也加入了迭代器。iter 包是 Go 1.23 新增的标准库,提供了迭代器的基本定义和相关操作。
Bun 是一个 SQL 优先的 Golang ORM(对象关系映射),支持 PostgreSQL、MySQL、MSSQL和SQLite。它旨在提供一种简单高效的数据库使用方法,同时利用 Go 的类型安全性并减少重复代码。