开篇词 | Go 项目开发极速入门课介绍

embedded/2025/3/4 8:23:19/
  • 欢迎加入我的训练营:云原生 AI 实战营,一个助力 Go 开发者在 AI 时代建立技术竞争力的实战营。实战营中包含大量 Go、云原生、AI Infra 相关的优质实战课程和项目。
  • 欢迎关注我的公众号:令飞编程,持续分享 Go、云原生、AI Infra 技术。
  • 系列文章见专栏:Go 项目开发极速入门实战课。

你好,欢迎学习本课程。本课程是一个 Go 项目开发极速入门课程。旨在帮助刚学习完 Go 基础语法的 Go 开发者,快速掌握如何开发一个功能相对全面的 Go 项目。

本开篇词会介绍下本课程,以使你对本课程有个初步的了解,便于后面的学习。

作者介绍

这里先来介绍下我自己。

  • 孔令飞,字节跳动资深云原生开发工程师、前腾讯云容器开发专家。
  • 《企业级 Go 项目开发实战》、《从零开发企业级 Go 应用》唯一作者;《Kubernetes调度器权威指南》(写作中)作者。
  • 云原生 AI 实战营知识星球 星主(欢迎大家加入我的星球,学习更多 Go、云原生、AI Infra 相关课程)
  • 有过多个国内外知名项目的设计和开发经验。工作经验主要聚焦在 Go、云原生和 AI Infra 领域。

本课程写作背景

我写过很多课程,但在运营课程的过程中,发现还是有部分学生期望能有一个 0 基础快速入门的课程。另外,我自己最近也在学习 AI,因为平时工作比较忙,所以学习过程中也很期待能有一个 AI 实战 Hello World 课程,能够带我极速入门 AI。我期望能够通过这个极速入门课程,在很短时间内,让 AI 从黑盒变成白盒,扫除因知识盲区带来的恐惧感,以及由此带来的过门犹豫症。

考虑到学生的真实诉求,以及自己的学习体验,我决定出一个极速入门课程。该课程类似于一个 Go 项目开发 Hello World,能够让你在极短的时间内入门 Go 项目开发。并由此在未来展开更多的深度学习。

课程目标

基于课程的写作目的,本课程的目标如下:以最小的学习难度,让大家尽快了解如何开发一个功能相对完备的高质量 Go 项目。

本课程的目标开发者是:刚学习完 Go 基础语法,想快速了解如何开发一个 Go 项目的 Go 开发者。

如果你想进阶学习 Go 项目开发技术,可以学习本课程的进阶课程:

  • 中级工程师进阶课:Go 项目开发中级实战课(对应的实战项目为:miniblog)。中级实战课基于技术入门实战课进行升级,包含了更多的技术点,例如:gRPC、gRPC-Gateway、授权、性能测试、性能分析、静态代码检查、Makefile、OpenAPI、自定义日质包、自定义错误包,更强大的校验机制等。
  • 专家级工程师进阶课:Go 项目开发中级实战课(对应的实战项目为:onex)。专家级实战课可以直接让你进阶为 Go 开发专家,本套课程包含了 99 节高质量课程及 15w 行高质量源码。

上述 2 个课程匹配的实战项目代码的开发风格、软件架构是 fastgo 项目的进阶。

Go 项目开发极速入门课特点

因为本课程的目标是能够让你在极端的时间内,相对全面的学习 Go 项目开发,所以本课程具有以下特点:

  • 学习时间短: 课程能够让你在很短时间内快速入门 Go 项目开发,预估时间为 1.5 个小时;
  • 内容全面: 虽然是极速入门课课,但课程的内容仍然相对全面,包含了 Go 项目开发中的重要开发内容;
  • 内容基础: 因为课程内容相对全面,要压缩学习时间,所以,本课程,不会讲太多、太复杂的开发知识,只会讲开发过程中比较基础的知识;
  • 符合最佳实践: 虽然课程内容基础,但仍然符合最佳实践。

Go 项目开发极速入门课实现的功能

在 Go 项目开发中,开发最多的功能是 Web 服务,Web 服务通常包含 2 类接口类型:RPC 接口和 HTTP 接口。其中 HTTP 接口最多。所以,本课程选择了 Go 项目开发中,最高频的开发功能场景:开发一个对外提供 HTTP 接口的 Web 服务(这里简称为 API 服务器)。

我们有多种方法可以用来构建 API 服务器,很多企业构建 API 时,采用一种叫 REST 风格的方式来构建 API,它虽然调用性能不及 RPC,但维护性和扩展性更好,也更通用。所以,本课程采用 REST 风格来构建 API 服务器。此外,在媒体类型上选择了 JSON,因为它的内容更加紧凑,数据展现形式直观易懂,开发测试都非常方便。REST + JSON,这也是 Go API 开发中很常用的组合。

构建一个简单的 API 服务器很简单,但构建一个生产就绪的 API 服务还有很多工作要做。所谓的生产就绪,至少需要满足如下各方面:

  1. 需要读取配置文件、记录日志;
  2. 需要对数据库做增删改查等操作;
  3. 需要返回错误规范的错误信息;
  4. 需要进行请求身份验证;
  5. 需要保证 API 接口的高可用、高性能、高并发;

可以看到要构建一个可以运行在生产环境中的 API 服务器有许多工作要做。本课程希望花尽可能短的时间,来教你了解和学习 Go API 开发的所有环节和功能点。因为本课程是一个极速入门课程,所以课程讲解方式会很干练,直接。不会过多介绍背后的开发原因及相关的知识点。

你会学到什么

本课程是一个实战类的课程,旨在让你花尽可能短的时间,一步一步,毫无门槛的构建出一个 API 服务器。从开发准备到 API 设计,再到 API 实现、测试和部署,每一步都详细介绍了如何去构建。通过本课程的学习,你将学到如下知识点:

画板
知识点很多,跟着课程一节一节进行学习,你将完整的学会如何用 Go 进行项目开发。


http://www.ppmy.cn/embedded/169864.html

相关文章

【实战 ES】实战 Elasticsearch:快速上手与深度实践-2.1.2字段类型选择:keyword vs text、nested对象

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 第2章 数据建模与高效写入:ES字段类型选择最佳实践:keyword vs text与nested对象深度解析1. 索引设计核心原则2. keyword与text类型终极对决2.1 核心…

Linux ls 命令

Linux ls(英文全拼: list directory contents)命令用于显示指定工作目录下之内容(列出目前工作目录所含的文件及子目录)。 语法 ls [-alrtAFR] [name...] 参数 : -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)-d 只列出目…

RabbitMQ系列(四)基本概念之Exchange

在 RabbitMQ 中,Exchange(交换机) 是消息路由的核心组件,负责根据规则将生产者发送的消息分发到对应的队列(Queue)中。以下是其核心功能与分类的详细说明: 一、Exchange 的核心作用 消息路由枢…

计算机毕业设计SpringBoot+Vue.js线上辅导班系统(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

【Redis】持久化

Redis是一个「内存数据库」,把数据存储在内存中 //把数据存储在硬盘上是持久的,存储在内存上是不持久的 因此Redis的数据是不持久的 所以Redis相比于MySQL这样的关系型数据库,最明显的优势是「效率快」 插入一个新数据时,Redi…

WP 高级摘要插件:助力 WordPress 文章摘要精准自定义显示

wordpress插件介绍 “WP高级摘要插件”功能丰富,它允许用户在WordPress后台自定义文章摘要。 可设置摘要长度,灵活调整展示字数;设定摘要最后的显示字符, 如常用的省略号等以提示内容未完整展示;指定允许在摘要中显示…

RabbitMQ高级特性----生产者确认机制

题记:在Java微服务开发中,对于一个功能需要调用另一个服务下的功能才能实现的情况,我们通常会使用异步调用取代同步调用,进而实现增强业务的可拓展性和实现故障隔离以及流量削峰填谷的目的。而消息队列就是异步调用的解决方案之一…

Python Cookbook-2.15 用类文件对象适配真实文件对象

任务 需要传递一个类似文件的对象(比如,调用urllib.urlopen 返回的结果)给一个函数或者方法,但这个函数或方法要求只接受真实的文件对象(比如,像marshalload 这样的函数)。 解决方案 为了过类型检查这一关,我们需要将类文件对象…