POLOXUE's BLOG
05 Feb 2024

Go 中如何检查文件是否存在?可能产生竞态条件?

1,320 words, ~5 min read

Go 语言如何检查文件是否存在呢?如果你用的是 Python,可通过 `os.path.exists` 这样的标准库函数实现。遗憾的是,Go 标准库没有提供这样直接的函数,但好在,没有直接的,却有不那么直接的方法。
02 Feb 2024

Go语言中 enum 实现方式有哪些?一定要绝对类型安全吗?

2,633 words, ~10 min read

Go 语言中,枚举的表达方式并不像在一些其他语言中那样直接。要想在 GO 中用好枚举,需要我们了解 Go 中枚举的不同表示形式。
01 Feb 2024

Go 中如何打印结构体?代码调试效率提升

2,390 words, ~9 min read

不知道大家是否遇到打印结构体的需求呢?结构体就像是一个小盒子,里面可以放很多不同类型的东西,如数字、字符串、slice、map 或其他结构体。但,如果我们想看看盒子里都放了什么,该怎么办呢?
28 Jan 2024

Go 中 struct tag 如何用?基于它实现字段级别的访问控制

2,074 words, ~8 min read

在Go 中,结构体主要是用于定义复杂数据类型。而 struct tag 则是附加在 struct 字段后的字符串,提供了一种方式来存储关于字段的元信息。然后,tag 在程序运行时不会直接影响程序逻辑。
27 Jan 2024

Go 语言实现可选参数:重载?变长参数?

1,150 words, ~4 min read

在编程时,常会遇到这样的情况:一个函数偶尔需要一些不固定的选项参数。一些语言中,通过重载或者支持可选参数解决这个问题。但在 Go 中,情况有所不同,因为 Go 不支持函数重载,也没有内置可选参数功能。
24 Jan 2024

Go 定时器:如何避免潜在的内存泄漏陷阱

797 words, ~3 min read

这篇文章将探讨的是 Go 中如何高效使用 timer,特别是与select 一起使用时,如何防止潜在的内存泄漏问题。
22 Jan 2024

为什么 Golang Fasthttp 选择使用 slice 而非 map 存储请求数据

1,347 words, ~5 min read

Fasthttp 是一个高性能的 Golang HTTP 框架,它在设计上做了许多优化以提高性能。其中一个显著的设计选择是使用 slice 而非 map 来存储数据,尤其是在处理 HTTP headers 时。
22 Jan 2024

如何有效获取 Go 变量类型?探索多种方法

1,148 words, ~4 min read

但在 Go 语言中,如何快速获取一个变量的类型?我相信很多 Go 语言初学者都会遇到这样的问题。本文将介绍 Go 中几种获取变量类型的方法,从基本到复杂。
21 Jan 2024

从 fatal 错误到 sync.Map:Go中 Map 的并发策略

1,546 words, ~6 min read

为什么 Go 语言在多个 goroutine 同时访问和修改同一个 map 时,会报出fatal错误而不是panic?这篇文章将带你一步步了解背后的原理,并引出解决 map 并发问题的方案。
20 Jan 2024

GO 中高效 int 转换 string 的方法与源码剖析

1,411 words, ~5 min read

本文将从逐步介绍几种在 Go 中将 int 转换为 string 的常见方法,并重点分析这几种方法在性能上的特点。