Go(也叫 Golang)
·
一、Go 是什么(一句话)
一门用于高并发后端开发的编译型语言,特点是简单 + 高性能 + 易部署
Go = 比 Java 更轻量、比 Python 更快、专门做服务端和并发的语言

二、你必须先记住的 4 个核心概念
1️⃣ 包(package)
package main
👉 每个程序入口必须是 main
2️⃣ 入口函数
func main() {
}
3️⃣ 变量声明
var a int = 10
b := 20 // 常用
👉 := 是 Go 最常用写法
4️⃣ 函数
func add(a int, b int) int {
return a + b
}
三、Go 必会数据结构
1️⃣ slice(动态数组)
nums := []int{1, 2, 3}
nums = append(nums, 4)
👉 类似 Java ArrayList
2️⃣ map(字典)
m := make(map[string]int)
m["a"] = 1
3️⃣ struct(核心)
type User struct {
Name string
Age int
}
👉 Go 没有 class,用 struct + 方法
四、Go 的“核心能力”(重点)
1️⃣ 并发(goroutine)
go func() {
fmt.Println("run async")
}()
👉 类似轻量线程
2️⃣ channel(通信)
ch := make(chan int)
go func() {
ch <- 100
}()
fmt.Println(<-ch)
👉 Go 推荐思想:
不共享内存,通过通信共享数据
五、写一个最简单 Web 服务(必须会)
package main
import (
"net/http"
)
func hello(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("hello go"))
}
func main() {
http.HandleFunc("/", hello)
http.ListenAndServe(":8080", nil)
}
访问:
http://localhost:8080
六、推荐框架(直接上生产)
Gin(最常用)
Gin 是 Go 生态里最常用的 Web 框架之一,把 Go 的原生 HTTP 开发,变成“高性能 + 易开发 + 工程化”的后端框架
1️⃣ 路由管理(核心功能)
r.GET("/user", handler)
r.POST("/login", handler)
👉 作用:
- URL → 自动映射到函数
- 支持 RESTful 风格
2️⃣ 参数解析
c.Query("id") // URL参数
c.Param("id") // 路径参数
c.PostForm("name")// 表单
c.ShouldBindJSON(&obj)
👉 不用手动解析 request
3️⃣ JSON 返回封装
c.JSON(200, gin.H{
"msg": "success",
})
👉 自动序列化 JSON
4️⃣ 中间件机制(非常重要)
r.Use(Logger(), Recovery())
可以做:
- 日志
- 鉴权
- 限流
- trace
👉 类似 Java 的 Filter / Interceptor
5️⃣ 高性能 HTTP 服务
Gin 是基于 Go 原生 net/http 封装的:
👉 特点:
- 路由快(Radix Tree)
- 内存占用低
- 并发性能强
七、数据库(必用)
MySQL连接
db, _ := sql.Open("mysql", "user:pass@tcp(127.0.0.1:3306)/test")
👉 实际开发推荐:
- GORM(ORM框架)
八、错误处理(Go 特殊点)
if err != nil {
return err
}
👉 Go 没有 try/catch
九、项目结构(标准)
project/
├── main.go
├── handler/
├── service/
├── dao/
├── model/
十、Go 的本质理解(关键)
Go = 用最少语法做高并发后端服务
十一、你上手后应该能做什么
✔ 写 API 服务
✔ 写高并发接口
✔ 写微服务
✔ 写工具/中间件
一句话总结
Go 不难,核心就三件事:struct + goroutine + Web服务
Go 没有类似 Lombok 的编译期注解体系
更多推荐
所有评论(0)