好,我们正式开始 Go 后端第1节(入门 + 能写接口),我按你节奏来:
👉 不讲废话,学完就能写接口 + 面试能说
🚀 第1节目标(非常明确)
学完你要能做到:
✅ 看懂 Go 基本语法
✅ 写一个简单接口(用 Gin)
✅ 知道 Go 和 Java / JS 的区别
🧠 一、Go 是什么(面试开场题)
✅ 标准答案
Go 是由 Google 开发的编程语言,特点是简单、高并发、编译快,常用于后端服务和微服务。
🧩 二、Go 基础语法(对比你熟悉的 JS)
1️⃣ 变量定义
var a int = 10
b := 20
👉 类比 JS:
let a = 10
const b = 20
💡 面试点:
:= 是自动推导类型(常用)
2️⃣ 函数
func add(a int, b int) int {
return a + b
}
👉 类比 JS:
function add(a, b) {
return a + b
}
💡 特点:
必须写类型
返回值写在后面
3️⃣ if 判断(没有括号!)
if a > 10 {
fmt.Println("大于10")
}
4️⃣ for(Go 只有这一种循环)
for i := 0; i < 5; i++ {
fmt.Println(i)
}
👉 没有 while(但可以模拟)
5️⃣ struct(重点!)
👉 相当于:TS interface + Java class
type User struct {
Name string
Age int
}
使用:
u := User{
Name: "Tom",
Age: 18,
}
⚠️ 三、Go 最重要的设计(面试必问)
👉 Go 没有"类"
没有:
class
继承
👉 用什么代替?
✔ struct
✔ 接口(interface)
💬 面试表达:
Go 通过组合(composition)而不是继承来实现复用,设计更简单。
🧠 四、error 处理(非常重要)
Go 不用 try/catch ❗
result, err := someFunc()
if err != nil {
fmt.Println("出错了")
return
}
👉 思想:
✔ 错误是返回值
✔ 必须手动处理
💬 面试表达:
Go 通过返回 error 显式处理异常,而不是使用 try/catch,这样代码更清晰可控。
🚀 五、第一个 Web 服务(重点)
用 Gin
1️⃣ 安装
go get -u github.com/gin-gonic/gin
2️⃣ 写一个接口
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/hello", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "hello world",
})
})
r.Run(":8080")
}
3️⃣ 启动
go run main.go
访问:
👉 返回:
{
"message": "hello world"
}
🧠 六、你要理解的核心(非常重要)
这一节的本质只有一句话:
👉 Go = 写接口非常简单 + 并发很强
🎯 七、面试这一节会问什么?
你现在就要能回答👇
1️⃣ Go 和 Java 区别?
👉 答:
Go 没有类和继承
Go 编译更快
Go 原生支持并发(goroutine)
2️⃣ 为什么 Go 适合做后端?
👉 答:
并发能力强
性能高
部署简单(一个二进制)
🧩 八、你现在要做的练习(必须做)
我给你3个练习👇
📝 练习1(基础)
写一个函数:
func sum(a int, b int) int
📝 练习2(struct)
定义一个 User:
Name
Age
并打印
📝 练习3(重点)
改造接口:
GET /user
返回:
{
"name": "张三",
"age": 18
}
🚀 下一步(非常关键)
你如果这一节 OK,我带你进下一节:
👉 第2节:MySQL + CRUD(真正后端开始)