原文:Go语言核心36讲(Go语言实战与应用九)--学习笔记

sync.WaitGroup和sync.Once 我们在前几次讲的互斥锁 条件变量和原子操作都是最基本重要的同步工具。在 Go 语言中,除了通道之外,它们也算是最为常用的并发安全工具了。 说到通道,不知道你想过没有,之前在一些场合下里,我们使用通道的方式看起来都似乎有些蹩脚。 比如:声明一个通道,使它的容量与我们手动启用的 goroutine 的数量相同,之后再利用这个通道,让主 gorouti ...

2021-11-21 22:12 0 272 推荐指数:

查看详情

Go语言核心36Go语言实战应用一)--学习笔记

23 | 测试的基本规则和流程 (上) 在接下来的日子里,我将带你去学习Go 语言编程进阶的道路上,必须掌握的附加知识,比如:Go 程序测试、程序监测,以及 Go 语言标准库中各种常用代码包的正确用法。 从上个世纪到今日今时,程序员们,尤其是国内的程序员们,都对编写程序乐此不疲 ...

Thu Nov 11 07:24:00 CST 2021 0 286
Go语言核心36Go语言实战应用四)--学习笔记

26 | sync.Mutex与sync.RWMutex 从本篇文章开始,我们将一起探讨 Go 语言自带标准库中一些比较核心的代码包。这会涉及这些代码包的标准用法、使用禁忌、背后原理以及周边的知识。 既然 Go 语言是以独特的并发编程模型傲视群雄的语言,那么我们就先来学习与并发编程关系最紧 ...

Sun Nov 14 17:17:00 CST 2021 0 199
Go语言核心36Go语言实战应用八)--学习笔记

30 | 原子操作(下) 我们接着上一篇文章的内容继续聊,上一篇我们提到了,sync/atomic包中的函数可以做的原子操作有:加法(add)、比较并交换(compare and swap,简称 C ...

Fri Nov 19 06:07:00 CST 2021 0 217
Go语言核心36Go语言实战应用十五)--学习笔记

37 | strings包与字符串操作 Go 语言不但拥有可以独立代表 Unicode 字符的类型rune,而且还有可以对字符串值进行 Unicode 字符拆分的for语句。 除此之外,标准库中的unicode包及其子包还提供了很多的函数和数据类型,可以帮助我们解析各种内容中的 Unicode ...

Sun Nov 28 05:42:00 CST 2021 0 136
Go语言核心36Go语言实战应用十六)--学习笔记

38 | bytes包与字节串操作(上) 前导内容: bytes.Buffer基础知识 strings包和bytes包可以说是一对孪生兄弟,它们在 API 方面非常的相似。单从它们提供的函数的数量和功能上,差别可以说是微乎其微。 只不过,strings包主要面向的是 Unicode 字符 ...

Mon Nov 29 06:31:00 CST 2021 0 190
Go语言核心36Go语言实战应用十七)--学习笔记

39 | bytes包与字节串操作(下) 在上一篇文章中,我们分享了bytes.Buffer中已读计数的大致功用,并围绕着这个问题做了解析,下面我们来进行相关的知识扩展。 知识扩展 问题 1:b ...

Tue Nov 30 06:17:00 CST 2021 0 227
Go语言核心36Go语言实战应用十一)--学习笔记

33 | 临时对象池sync.Pool 到目前为止,我们已经一起学习Go 语言标准库中最重要的那几个同步工具,这包括非常经典的互斥锁、读写锁、条件变量和原子操作,以及 Go 语言特有的几个同步工具: 1、sync/atomic.Value 2、sync.Once ...

Wed Nov 24 03:32:00 CST 2021 0 764
Go语言核心36Go语言实战应用十四)--学习笔记

36 | unicode与字符编码 在开始今天的内容之前,我先来做一个简单的总结。 Go 语言经典知识总结 在数据类型方面有: 基于底层数组的切片; 用来传递数据的通道; 作为一等类型的函数; 可实现面向对象的结构体; 能无侵入实现的接口等。 在语法 ...

Sat Nov 27 08:43:00 CST 2021 2 189
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM