摘要:
cgo 是 Go 语言中的一个工具,用于在 Go 中调用 C 代码或让 C 代码调用 Go 代码。 它通过编译时的预处理器和运行时的动态链接器来实现这一功能。 下面列出了 cgo 的一些主要优点和缺点: 优点 1.兼容现有 C 库: cgo 允许 Go 程序直接调用 C 语言编写的库,这极大地扩展了 阅读全文
摘要:
//go:build 是 Go 语言(golang)中的一种构建标签(build tag),用于控制源代码文件在特定条件下是否被编译。 这个注释标记允许你在同一个包内编写针对不同平台、操作系统或编译条件的代码。当 go build 或 go test 等命令执行时,它们会检查这些标签来决定哪些文件应 阅读全文
摘要:
golang 所有关键字的列表及释义归类,截至1.18版本。 [控制结构] if : 条件语句,基于布尔表达式的值决定是否执行特定的代码块。 else、 else if : 用在 if 语句之后,当条件表达式为假时执行的代码块。 switch : 多路选择语句,根据不同的情况执行不同的代码块。 ca 阅读全文
摘要:
type Once struct { done atomic.Uint32 m Mutex } sync.Once 是 Go 语言标准库 sync 包中的一个类型,用于确保某个操作(函数)只被执行一次。 这对于初始化操作非常有用,比如数据库连接的建立、日志文件的打开等,这些操作通常只需要在程序启动时 阅读全文