- 实现用户注册、登录、JWT令牌认证功能 - 集成Gin、GORM、Viper、Zap等框架 - 添加密码加密、数据库操作、中间件等完整功能 - 配置多环境支持、日志轮转、CORS处理 - 创建完整的项目结构和配置文件体系
38 lines
664 B
Go
38 lines
664 B
Go
package main
|
|
|
|
import "fmt"
|
|
|
|
// 生产者:产生 1~5
|
|
func producer1(out chan<- int) {
|
|
for i := 1; i <= 5; i++ {
|
|
fmt.Println("[Producer] 发送:", i)
|
|
out <- i
|
|
}
|
|
close(out)
|
|
}
|
|
|
|
// 处理者:把数字放大 10 倍
|
|
func multiplier(in <-chan int, out chan<- int) {
|
|
for v := range in {
|
|
fmt.Println("[Multiplier] 接收:", v)
|
|
out <- v * 10
|
|
}
|
|
close(out)
|
|
}
|
|
|
|
// 消费者:打印结果
|
|
func consumer1(in <-chan int) {
|
|
for v := range in {
|
|
fmt.Println("[Consumer] 最终结果:", v)
|
|
}
|
|
}
|
|
|
|
func main() {
|
|
ch1 := make(chan int, 2) // 有缓冲,减轻 producer 阻塞
|
|
ch2 := make(chan int, 2)
|
|
|
|
go producer1(ch1)
|
|
go multiplier(ch1, ch2)
|
|
consumer1(ch2)
|
|
}
|