37、strings包与字符串操作在上一篇文章中,我介绍了Go语言与Unicode编码规范、UTF-8编码格式的渊源及运用。 Go语言不但拥有可以独立代表Unicode字符的类型rune,而且还有可以对字符串值进行Unicode字符拆分的for语句。 除此之外,标准库中的unicod...2026-01-19Go语言核心36讲
36、unicode与字符编码到目前为止,我们已经一起陆陆续续地学完了Go语言中那些最重要也最有特色的概念、语法和编程方式。我对于它们非常喜爱,简直可以用如数家珍来形容了。 在开始今天的内容之前,我先来做一个简单的总结。 Go语言经典知识总结基于混合线程的并发编程模型自然不必多说...2026-01-19Go语言核心36讲
35、并发安全字典sync.Map (下)你好,我是郝林,今天我们继续来分享并发安全字典sync.Map的内容。 我们在上一篇文章中谈到了,由于并发安全字典提供的方法涉及的键和值的类型都是interface{},所以我们在调用这些方法的时候,往往还需要对键和值的实际类型进...2026-01-19Go语言核心36讲
34、并发安全字典sync.Map (上)在前面,我几乎已经把Go语言自带的同步工具全盘托出了。你是否已经听懂了会用了呢? 无论怎样,我都希望你能够多多练习、多多使用。它们和Go语言独有的并发编程方式并不冲突,相反,配合起来使用,绝对能达到“一加一大于二”的效果。 当然了,至于怎样配合就是一...2026-01-19Go语言核心36讲
33、临时对象池sync.Pool到目前为止,我们已经一起学习了Go语言标准库中最重要的那几个同步工具,这包括非常经典的互斥锁、读写锁、条件变量和原子操作,以及Go语言特有的几个同步工具: sync/atomic.Value; sync.Once; sync.WaitGroup c...2026-01-19Go语言核心36讲
32、context.Context类型我们在上篇文章中讲到了sync.WaitGroup类型:一个可以帮我们实现一对多goroutine协作流程的同步工具。 在使用WaitGroup值的时候,我们最好用“先统一Add,再并发Done,最后Wait”的标准模式来构建协作流程。 如果在调用该...2026-01-19Go语言核心36讲