⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

Go 协程 — 并发编程

goroutine:轻量级线程,go 关键字一行代码启动并发 · 难度:高级 · +20XP

goroutine — Go 的王牌特性

goroutine 是 Go 的轻量级协程。只需在函数前加 go 关键字就能启动并发执行。一个程序可以轻松运行上万个 goroutine。

启动 goroutine

func sayHello() {
    fmt.Println("Hello")
}

// 顺序执行 sayHello() // 等待执行完才继续

// 并发执行 go sayHello() // 不等待,立即返回!

使用 sync.WaitGroup 等待完成

var wg sync.WaitGroup

for i := 0; i < 5; i++ { wg.Add(1) go func(n int) { defer wg.Done() fmt.Println("goroutine", n) }(i) } wg.Wait() // 等待所有 goroutine 完成

goroutine vs JS 异步对比

Go goroutineJS async/await
真正多核并发单线程事件循环
go func() 启动async function() 定义
channel 通信Promise 链式调用
Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 142 篇
0 完成
🔥 0