拥有go标签的文章

使用docker部署go项目并实现热编译

Dockerfile:```goFROM golang:latestWORKDIR www/src/gomod_studyCOPY . www/src/gomod_study配置国内代理RUN go env w GOPROXY=https://goproxy.io,direct下载 go.mod 文件中指明的所有依赖 RUN go mod d
阅读全文

golang限制协程并发数

```gopackage mainimport ( "fmt" "sync" "time")//使用带缓冲的channel控制协程并发数func main() { a := int{1, 2, 3, 4, 5, 6} limit := 2 goLimit := make(chan bool, limit) var wg =
阅读全文

goroutine池

worker pool(goroutine池) 本质上是生产者消费者模型 可以有效控制goroutine数量,防止暴涨 需求: 计算一个数字的各个位数之和,例如数字123,结果为1+2+3=6 随机生成数字进行计算```gopackage mainimport ( "fmt" "math/rand")type Job st
阅读全文

goroutine通道(channel)死锁与处理

goroutine死锁package main场景一:```gofunc main() { ch := make(chan int) < ch // 阻塞main goroutine, 通道被锁}```输出:```gofatal error: all goroutines are asleep deadlock!go
阅读全文

golang中的goroutine、channel、select简单运用

关闭channel:```gopackage mainimport "fmt"//close();关闭channelfunc main() { c := make(chan int) go func() { for i := 0; i < 5; i++ { c < i } //关闭channel close
阅读全文

golang中的pair

1、任意一个变量都是包含`pair<type:, value: ` 2、由两个指针一个type指针,一个value指针组成的3、type包含静态的类型 (例:int string float)和具体类型(interface所指向的具体类型)例:```govar a string//pari<type:string,value:"abc" a = "a
阅读全文