Files
learn-golang/go并发模型/02go-channel-practice/directional.go
liumangmang b010f82221 feat(auth): 添加完整的用户认证API项目
- 实现用户注册、登录、JWT令牌认证功能
- 集成Gin、GORM、Viper、Zap等框架
- 添加密码加密、数据库操作、中间件等完整功能
- 配置多环境支持、日志轮转、CORS处理
- 创建完整的项目结构和配置文件体系
2025-12-30 18:00:42 +08:00

29 lines
636 B
Go

package main
import "fmt"
// 只负责发送数据
func producer(out chan<- int) {
for i := 1; i <= 5; i++ {
fmt.Println("[Producer] 发送:", i)
out <- i
}
fmt.Println("[Producer] 关闭 channel")
close(out) // 只有发送方才能关闭
}
// 只负责接收数据
func consumer(in <-chan int) {
for v := range in { // 直到 channel 被关闭
fmt.Println("[Consumer] 接收:", v)
}
fmt.Println("[Consumer] channel 已关闭,接收结束")
}
func main() {
ch := make(chan int)
go producer(ch) // ch 在这里被当作 只发送 channel 使用
consumer(ch) // ch 在这里被当作 只接收 channel 使用
}