最新 最热

Go 1.23 新特性:slices 和 sync 等核心库的微调,大幅提升开发体验

Go 1.23 版本在北京时间 2024 年 8 月 14 日凌晨 1:03 发布。该版本带来了多项重大更新,具体内容可以参考我之前的文章:Go 1.23 版本发布啦,这些重大更新你一定要知道!。本文将重点介绍 slices、sync 等核心库的小改进。...

2024-08-30
3

Go 1.23 新特性:Timer 和 Ticker 的重要优化

Go 1.23 版本在北京时间 2024 年 8 月 14 日凌晨 1:03 发布。该版本带来了多项重大更新,具体内容可以参考我之前的文章:Go 1.23 版本发布啦,这些重大更新你一定要知道!。本文将重点介绍其中关于定时器(Timer 和 Ticker)的优...

2024-08-22
4

Go 在结构体中定义下划线(_)字段原来还有这个特殊用途?

在 Go 语言中,我们经常会看到下划线(_)的使用,例如将 _ 作为占位符,用于忽略不需要的变量,或者导入但不使用的包(即 Import for side-effects),以及忽略类型转换中的变量等等。然而,大多数人可能没有见过在结构体中使用下划线(_)...

2024-06-24
2

Go 语言 mongox 库:简化操作、安全、高效、可扩展、BSON 构建

在 Go 语言里使用 MongoDB 官方提供的 mongo-go-driver 库进行集合操作时,你是否感到结构体与 MongoDB 集合之间的映射,以及构建 BSON 数据这些操作极其繁琐?特别是在构建 BSON 数据时,各种字段、逗号和括号的排列组合是...

2024-06-08
2

Go 语言揭秘:接口类型是 nil 但不等于 nil?

在使用 Go 语言编码的过程中,我们可能会遇到一种情况:当使用接口类型参数(如 any 或 interface{})接收其他参数时,给定的参数值明明是 nil,但是使用不等式判断 x == nil 却不成立,这是为什么?本文将会带你揭秘。...

2024-05-30
1

深入浅出 Go 并发协同等待利器:sync.WaitGroup

本文接下来要介绍的内容与 Go 语言中的 sync.WaitGroup 并发原语有关,它用于等待一组并发操作完成。如果你面临的场景中,需要将一个复杂任务划分为多个子任务,并等待这些子任务执行完毕后(无先后顺序的限制)才能继续后续操...

2024-04-29
1

Go JWT 全面指南

在当今微服务和分布式系统盛行的背景下,安全、高效的用户身份验证机制显得尤为重要。为了有效管理用户的访问权限并验证用户身份,我们经常会采用各种身份验证方案。而 JSON Web Tokens(JWT)便是其中一种流行的技术,因其简...

2024-03-06
1

Go 1.22 slices 库的更新:高效拼接、零化处理和越界插入优化

Go 1.22 版本于 2024 年 2 月 6 日发布,引入了几个重要的特性和改进。在标准库层面上,该版本对 slices 库进行了更新,更新内容包括以下三个方面:

2024-02-19
1

Go 实现一个支持多种过期、淘汰机制的本地缓存的核心原理

相信大家对于缓存这个词都不陌生,但凡追求高性能的业务场景,一般都会使用缓存,它可以提高数据的检索速度,减少数据库的压力。

2024-01-11
4

Go 语言 Printf 函数和格式化动词详解

Printf()函数可以使用多种格式化动词对输出进行格式化。下面是可以与所有数据类型一起使用的一些通用格式化动词:

2023-12-03
1