- 实现用户注册、登录、JWT令牌认证功能 - 集成Gin、GORM、Viper、Zap等框架 - 添加密码加密、数据库操作、中间件等完整功能 - 配置多环境支持、日志轮转、CORS处理 - 创建完整的项目结构和配置文件体系
29 lines
636 B
Go
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 使用
|
|
}
|