- 实现用户注册、登录、JWT令牌认证功能 - 集成Gin、GORM、Viper、Zap等框架 - 添加密码加密、数据库操作、中间件等完整功能 - 配置多环境支持、日志轮转、CORS处理 - 创建完整的项目结构和配置文件体系
36 lines
698 B
Go
36 lines
698 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
)
|
|
|
|
func main() {
|
|
ch := make(chan int, 3) // 容量为 3 的有缓冲 channel
|
|
|
|
fmt.Println("[Main] 开始发送 3 个元素...")
|
|
ch <- 1
|
|
fmt.Println("[Main] 已发送 1")
|
|
ch <- 2
|
|
fmt.Println("[Main] 已发送 2")
|
|
ch <- 3
|
|
fmt.Println("[Main] 已发送 3 (已满)")
|
|
|
|
// 再发送一个会怎样?
|
|
go func() {
|
|
fmt.Println("[Sender] 尝试发送第 4 个元素(会阻塞,直到有接收者)...")
|
|
ch <- 4
|
|
fmt.Println("[Sender] 第 4 个元素发送成功")
|
|
}()
|
|
|
|
time.Sleep(1 * time.Second)
|
|
|
|
fmt.Println("[Main] 开始接收...")
|
|
for i := 0; i < 4; i++ {
|
|
v := <-ch
|
|
fmt.Println("[Main] 收到:", v)
|
|
}
|
|
|
|
fmt.Println("[Main] 程序结束")
|
|
}
|