一般程序会有获取 Unix 时间 的秒数,毫秒数,或者微秒数的需求。来看看如何用 Go 来实现。 package main import ( "fmt" "time" ) func main() { p := fmt.Println now := time.Now() p(now) // 2025-04-10…
自定义排序 在 Go 中使用自定义函数进行排序,我们需要实现sort.Interface 接口的 Len、Less 和 Swap 方法, 这样我们就可以使用 sort 包的通用 Sort 方法了 package main import ( "fmt" "sort" ) type byLength []stri…
原子计数器 使用WaitGroup+sync/atomic可以实现一个原子计数器 package main import ( "fmt" "sync" "sync/atomic" ) func main() { var ops uint64 var wg sync.WaitGroup fo…
通道 1.通道定义 通道(channels) 是连接多个协程的管道。 你可以从一个协程将值发送到通道,然后在另一个协程中接收。 定义:make(chan string) 发送消息:channel <- 接收消息:<-channel package main import "fmt" func main() { msg…