# golang **Repository Path**: LionCode00/golang ## Basic Information - **Project Name**: golang - **Description**: study golang - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-27 - **Last Updated**: 2026-02-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Go 语言学习笔记 > 面向 Linux 运维工程师的 Go 语言入门教程 ## 为什么运维要学 Go? - **Kubernetes、Docker、Prometheus** 等主流运维工具都是 Go 编写的 - Go 编译成**单一二进制文件**,部署简单,不需要依赖环境 - **交叉编译**方便,一次编写可编译成 Linux/Windows/Mac 版本 - 语法简单,从 Shell 脚本过渡容易 ## 学完能达到什么水平? ### 基础能力 - 能读懂 Go 项目源码(如 k8s 的部分代码) - 能编写简单的 CLI 运维工具 - 能处理文件、JSON、HTTP 请求 ### 实际可实现的需求 | 需求场景 | 示例 | |---------|------| | 批量操作 | 批量检查服务器端口、批量执行命令 | | 日志处理 | 解析日志文件、统计错误信息 | | 监控告警 | 检查服务状态、发送告警通知 | | API 调用 | 调用 k8s API、调用云平台 API | | 配置管理 | 解析 YAML/JSON 配置文件 | | HTTP 服务 | 写一个简单的 webhook 服务 | ## 学习目录 | 序号 | 主题 | 文档 | |-----|------|------| | 01 | 环境搭建 | [docs/01-环境搭建.md](docs/01-环境搭建.md) | | 02 | 变量与数据类型 | [docs/02-变量与数据类型.md](docs/02-变量与数据类型.md) | | 03 | 流程控制 | [docs/03-流程控制.md](docs/03-流程控制.md) | | 04 | 函数 | [docs/04-函数.md](docs/04-函数.md) | | 05 | 数组、切片、Map | [docs/05-数组切片Map.md](docs/05-数组切片Map.md) | | 06 | 结构体与方法 | [docs/06-结构体与方法.md](docs/06-结构体与方法.md) | | 07 | 接口 | [docs/07-接口.md](docs/07-接口.md) | | 08 | 错误处理 | [docs/08-错误处理.md](docs/08-错误处理.md) | | 09 | 并发编程 | [docs/09-并发编程.md](docs/09-并发编程.md) | | 10 | 文件操作 | [docs/10-文件操作.md](docs/10-文件操作.md) | | 11 | JSON 处理 | [docs/11-JSON处理.md](docs/11-JSON处理.md) | | 12 | 命令行工具 | [docs/12-命令行工具.md](docs/12-命令行工具.md) | | 13 | HTTP 请求(调用接口) | [docs/13-HTTP请求.md](docs/13-HTTP请求.md) | ## 快速开始 ```bash # 1. 安装 Go(参考 docs/01-环境搭建.md) # 2. 运行第一个程序 go run hello.go # 3. 编译成二进制 go build hello.go ./hello ``` ## 参考资源 - [Go 官方文档](https://go.dev/doc/) - [Go by Example](https://gobyexample.com/) - [Go 标准库文档](https://pkg.go.dev/std)