一、前言 大家好,这里是白泽。随着 Go 语言在云原生领域大放异彩,开发者逐渐将目光转移到了这门语言上,而容器则是云原生时代最核心的载体。 《Woodpecker CI 设计分析》系列文章将分析开源 CI 引擎 Woodpecker 的架构设计,探究 Go 协程是如何支持由 Workflow 定义的大量 Task 的频繁创建和调度。 而 Task 的一切活动都将在容器内进行。因此这个系列的文章也是
掌握Go语言中各种数据结构的使用技巧,需要具体代码示例 在Go语言中,数据结构是程序中非常重要的一部分。通过合理地使用数据结构,我们可以提高程序的效率和可读性。本文将介绍Go语言中常用的各种数据结构,并给出具体的代码示例。 数组(Array) 数组是一组具有相同数据类型的元素的集合。在Go语言中,数组的长度是固定的,而且数组的索引从0开始。以下是一个使用数组的示例: package main im
Gin是一个使用Go语言开发的Web框架,追求性能和效率。 1、使用Gin快速初始化项目 (1) 创建项目目录:在命令行中创建一个新目录,用于存放项目文件。然后进入该目录: mkdir my-gin-demo cd my-gin-demo (2) 初始化 Go 模块:在项目目录中运行以下命令以初始化 Go 模块。这会创建一个 go.mod 文件,用于管理项目依赖。 go mod init gith
Go提供了自动化的内存管理机制,但在某些情况下需要更精细的微调从而避免发生OOM错误。本文将讨论Go的垃圾收集器、应用程序内存优化以及如何防止OOM(Out-Of-Memory)错误。 Go中的堆(Heap)栈(Stack) 我不会详细介绍垃圾收集器如何工作,已经有很多关于这个主题的文章和官方文档(比如A Guide to the Go Garbage Collector[2]和源码[3])。但是