# go-course **Repository Path**: infraboard/go-course ## Basic Information - **Project Name**: go-course - **Description**: Go 语言课程项目源码 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 397 - **Forks**: 470 - **Created**: 2021-05-22 - **Last Updated**: 2025-06-10 ## Categories & Tags **Categories**: ebooks-manual **Tags**: None ## README # 课程 以一个项目倒推我们应该需要哪些GO的基础知识 ## Go语言基础 ### Day01: 基础语法 * [第一个程序](./zh-cn/base/hello_world.md) * [初识Go语言](./zh-cn/base/hello_go.md) * [开发环境搭建](./zh-cn/base/install.md) * [基础语法](./zh-cn/base/syntax.md) * [基础类型](./zh-cn/base/data_struct.md) * [变量常量与值](./zh-cn/base/var_value.md) * [变量作用域](./zh-cn/base/scope.md) * [运算符](./zh-cn/base/operate.md) ### Day02: 流程控制 * [MODULES工程](./zh-cn/base/modules.md) * [条件语句](./zh-cn/base/if.md) * [循环语句](./zh-cn/base/for.md) * [数据类型转换](./zh-cn/base/strconv.md) * [Go语言指针](./zh-cn/base/pointer.md) * [练习 - 格式化输出](./zh-cn/base/fmt_out.md) * [练习 - 读取标准输入](./zh-cn/base/fmt_in.md) ### Day03: 复合数据结构 * [Go语言函数](./zh-cn/base/func.md) * [defer与异常](./zh-cn/base/error.md) * [Go语言数组](./zh-cn/base/array.md) * [Go语言结构体](./zh-cn/base/struct.md) * [Go语言切片](./zh-cn/base/slice.md) ### Day04: 接口 * [字符串](./zh-cn/base/string.md) * [Go语言Map](./zh-cn/base/map.md) * [Go语言接口](./zh-cn/base/interface.md) * [错误处理](./zh-cn/base/oop.md) * [空接口与类型断言](./zh-cn/base/oop.md) * [面向对象](./zh-cn/base/oop.md) * [面向接口](./zh-cn/base/oop.md) ### Day05:包 * [IO操作](./zh-cn/base/oop.md) * [文件读写](./zh-cn/base/string.md) * [包与工程](./zh-cn/base/pkg.md) * [单元测试](./zh-cn/base/func.md) ## Go语言进阶 ### Day06: 网络编程 * [互联网协议介绍](./day11/protocol.md) * [TCP编程](./day11/tcp.md) * [UDP编程](./day11/upd.md) * [HTTP 协议](./day13/http.md) * [Gin web框架](./day13/http.md) * [GoRestful Web框架](./day13/http.md) ### Day07: 数据库 * [MySQL](./day11/tcp.md) * [MongoDB](./day11/upd.md) * [Redis](./day13/http.md) ### Day08: 异步与并发 * [并发调度模型与Go GPM调度](./day10/concurrency_mem.md) * [Channel的使用](./day10/channel.md) * [Channel与Select](./day10/select.md) * [锁和原子操作](./day10/lock.md) * [CSP并发设计模式](./day10/csp-model.md) * [并发注意事项](./day10/tips.md) ### 额外扩展 * [密码学简介](./day09/summary.md) * [散列算法](./day09/go-hash.md) * [对称加密算法](./day09/go-cipher.md) * [非对称加密算法](./day09/go-crypto.md) * [密钥交换算法](./day09/go-dh.md) * [数据结构之栈](./day09/go-stack.md) * [算法的评估](./day09/algorithm-perf.md) * [数据结构之链表](./day09/go-chain.md) * [数据结构之堆](./day09/go-heap.md) * [作业](./day09/homework.md) ### 项目工程后端 * [项目工程框架搭建](./day14/demo-api.md) * [后端开发](./day14/demo-api.md) ### Web 入门 * [JavaScript基础](./day19/javascript.md) * [Web入门基础-HTLM](./day19/html.md) * [Web入门基础-CSS](./day19/css.md) * [Web入门基础-浏览器](./day19/browser.md) ### Vue 入门 * [Vue入门基础](./day20/vue3.md) * [Vue组件](./day20/vue3-componet.md) ### Vue 全家桶 * [Vue路由](./day20/vue-router.md) * [Vue状态管理](./day20/vue-store.md) * [Vue UI](./day20/vue3-ui.md) ### 项目前端 * [前端框架](./day21/vblog-base.md) * [博客前台](./day22/blog-frontend.md) * [博客后台](./day22/blog-backend.md) ## 微服务开发 ### RPC入门 * [RPC入门](./day15/rpc.md) * [Protobuf编解码](./day15/protobuf.md) * [proto3语法入门](./day15/proto3_synx.md) ### GRPC入门 * [GRPC入门](./day15/grpc.md) * [框架支持GRPC](./day15/framework.md) ### 用户中心 * [开发基础](./day17/user.md) * [登录认证](./day17/auth.md) * [权限判定](./day18/permission.md) ### 审计中心 * [消息队列技术与Kafka](./day18/permission.md) * [审计中心](./day18/permission.md) ### CMDB * [云资源Provider](./day16/cmdb-provider.md) * [云凭证管理](./day16/cmdb-secret.md) * [云资源同步API](./day16/cmdb-sync.md) ### 项目前端 * [主机列表页面](./day22/cmdb-host.md) * [CMDB主机页面](./day23/cmdb-host.md) * [CMDB搜索页面](./day23/cmdb-search.md) * [CMDB同步页面](./day23/cmdb-sync.md) ## 经典项目二开 ### Prometheus二次开发 * [Prometheus 概念介绍](./extra/prometheus/exporter.md) * [Exporter 开发](./extra/prometheus/exporter.md) * [服务发现与CMDB对接](./extra/prometheus/exporter.md) ### Kubernetes二次开发 * [Kubernetes 简介与client-go使用](./day25/pipeline-scheduler.md) * [基于client-go 的多集群管理平台](./day25/pipeline-scheduler.md) * [Kubernetes Operator 开发](./extra/kubernetes/operator.md) ## 项目结束 ### 总结与回顾 * [课程回顾](./day26/summary.md) ## 录播: 文件中转站 * [简易版工具开发](./day08/simple_tool.md) * [以系统方式开发](./day08/design.md) ## 录播: Workflow项目 ### 基于微服务网关的部署 * [传统部署](./day18/deploy.md) * [Etcd使用](./day18/etcd.md) * [微服务网关](./day18/traefik.md) ### CI/CD系统(一) * [Workflow 项目介绍](./day24/workflow-summary.md) * [API Server 开发](./day24/api-server.md) ### CI/CD系统(二) * [Pipeline Scheduler 开发](./day25/pipeline-scheduler.md) * [Step Scheduler 开发](./day25/step-scheduler.md) ### CI/CD系统(三) * [Step Hook 开发](./day25/step-hook.md) * [Node 开发](./day25/node.md) * [API Server 订阅SCM事件](./day25/ci.md)