随笔分类 - Go
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/atomic-counters 目标 使用 Go 语言的原子计数器。 示例 package main import ( "fmt" "sync" "sync/atomic" ) f
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/rate-limiting 目标 使用 Go 语言的通道的速率限制。 固定速率处理 package main import ( "fmt" "time" ) func main()
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/waitgroups 目标 使用 Go 语言的等待组。 示例 package main import ( "fmt" "sync" "time" ) func worker(id
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/worker-pools 目标 使用 Go 语言的工作池。 示例 package main import ( "fmt" "time" ) func worker(id int,
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/tickers 目标 使用 Go 语言的定时器。 示例 package main import ( "fmt" "time" ) func main() { ticker := t
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/timers 目标 使用 Go 语言的计时器。 示例 package main import ( "fmt" "time" ) func main() { timer1 := ti
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/range-over-channels 目标 使用 Go 语言的通道,并遍历通道。 示例 package main import "fmt" func main() { queue
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/closing-channels 目标 使用 Go 语言的通道,并关闭通道。 示例 package main import "fmt" func main() { jobs :=
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/non-blocking-channel-operations 目标 使用 Go 语言的非阻塞通道。 示例 package main import "fmt" func main(
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/timeouts 目标 使用 Go 语言的通道选择器来处理超时。 示例 package main import ( "fmt" "time" ) func main() { c1
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/select 目标 使用 Go 语言的通道选择器。 示例 package main import ( "fmt" "time" ) func main() { c1 := make
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/channel-directions 目标 使用 Go 语言的通道,并且指定其方向。 示例 package main import "fmt" func ping(pings ch
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/channel-synchronization 目标 使用 Go 语言的通道同步。 示例 package main import ( "fmt" "time" ) func wor
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/channel-buffering 目标 使用 Go 语言的缓冲通道。 示例 package main import "fmt" func main() { // 可以缓冲两个值
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/channels 目标 使用 Go 语言的通道。 示例 package main import "fmt" func main() { messages := make(chan
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/goroutines 目标 使用 Go 语言的协程。 启动函数协程 package main import ( "fmt" "time" ) func f(from string)
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/errors 目标 使用 Go 语言的错误处理。 错误处理 package main import ( "errors" "fmt" ) func f1(arg int) (int
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/generics 目标 使用 Go 语言的泛型。 泛型函数 package main import "fmt" func MapKeys[K comparable, V any](
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/struct-embedding 目标 使用 Go 语言的结构体嵌入。 定义结构体 type base struct { num int } func (b base) descr
阅读全文
摘要:环境 Time 2022-08-24 Go 1.19 前言 说明 参考:https://gobyexample.com/interfaces 目标 使用 Go 语言的接口。 定义接口 type geometry interface { area() float64 perim() float64 }
阅读全文