golang
已收录文章:14425篇
-
引言 Golang的并发编程令人着迷,使用轻量的协程、基于CSP的channel、简单的go func()就可以开始并发编程,在并发编程中,往往离不开锁的概念。 本文介绍了常用的同步原语 sync.Mutex,同时从源码剖426 收藏
-
简单使用 func main() { // # grep 321 2022053015.log command := exec.Command("grep", "321", "2022053015.log") out := bytes.NewBuffer(nil) command.Stdout = out command.Stderr = os.Stderr if err := command.Run(); err != nil { log.Fatal(er426 收藏
-
一般我们实现延迟消息都需要依赖底层的有序结构,比如堆,而Redis刚好提供了zset这种数据类型,它的底层实现是哈希表+跳表,也是一种有序的结构,所以这篇文章主要是使用Go+Redis来实现延426 收藏
-
使用 block profile 和 runtime trace 定位 goroutine 阻塞、调度等待和吞吐问题。425 收藏
-
答案:Go可通过标准库和第三方包实现数据分析全流程。利用encoding/csv、encoding/json读取数据,tealeg/xlsx处理Excel;定义结构体清洗转换数据,用strconv进行类型解析;通过遍历、map聚合和sort排序实现基础统计;借助os和csv.Writer输出结果,结合flag、log提升工具可用性,并用goroutine并发加速处理。425 收藏
-
使用通道传递错误,避免panic导致程序崩溃;通过context控制goroutine生命周期,防止泄漏;用errgroup或自定义方式聚合多个错误,确保错误被收集和处理。425 收藏