42 | bufio包中的数据类型 (上) 今天,我们来讲另一个与 I/O 操作强相关的代码包bufio。bufio是“buffered I/O”的缩写。顾名思义,这个代码包中的程序实体实现的 I/ ...
unicode与字符编码 在开始今天的内容之前,我先来做一个简单的总结。 Go 语言经典知识总结 在数据类型方面有: 基于底层数组的切片 用来传递数据的通道 作为一等类型的函数 可实现面向对象的结构体 能无侵入实现的接口等。 在语法方面有: 异步编程神器go语句 函数的最后关卡defer语句 可做类型判断的switch语句 多通道操作利器select语句 非常有特色的异常处理函数panic和re ...
2021-11-27 00:43 2 189 推荐指数:
42 | bufio包中的数据类型 (上) 今天,我们来讲另一个与 I/O 操作强相关的代码包bufio。bufio是“buffered I/O”的缩写。顾名思义,这个代码包中的程序实体实现的 I/ ...
34 | 并发安全字典sync.Map (上) 我们今天再来讲一个并发安全的高级数据结构:sync.Map。众所周知,Go 语言自带的字典类型map并不是并发安全的。 前导知识:并发安全字典诞生史 换句话说,在同一时间段内,让不同 goroutine 中的代码,对同一个字典进行读写操作 ...
24 | 测试的基本规则和流程(下) Go 语言是一门很重视程序测试的编程语言,所以在上一篇中,我与你再三强调了程序测试的重要性,同时,也介绍了关于go test命令的基本规则和主要流程的内容。今天我们继续分享测试的基本规则和流程。 知识扩展 问题 1:怎样解释功能测试的测试 ...
46 | 访问网络服务 前导内容:socket 与 IPC 人们常常会使用 Go 语言去编写网络程序(当然了,这方面也是 Go 语言最为擅长的事情)。说到网络编程,我们就不得不提及 socket。 socket,常被翻译为套接字,它应该算是网络编程世界中最为核心的知识 ...
23 | 测试的基本规则和流程 (上) 在接下来的日子里,我将带你去学习在 Go 语言编程进阶的道路上,必须掌握的附加知识,比如:Go 程序测试、程序监测,以及 Go 语言标准库中各种常用代码包的正确用法。 从上个世纪到今日今时,程序员们,尤其是国内的程序员们,都对编写程序乐此不疲 ...
26 | sync.Mutex与sync.RWMutex 从本篇文章开始,我们将一起探讨 Go 语言自带标准库中一些比较核心的代码包。这会涉及这些代码包的标准用法、使用禁忌、背后原理以及周边的知识。 既然 Go 语言是以独特的并发编程模型傲视群雄的语言,那么我们就先来学习与并发编程关系最紧 ...
30 | 原子操作(下) 我们接着上一篇文章的内容继续聊,上一篇我们提到了,sync/atomic包中的函数可以做的原子操作有:加法(add)、比较并交换(compare and swap,简称 C ...
31 | sync.WaitGroup和sync.Once 我们在前几次讲的互斥锁、条件变量和原子操作都是最基本重要的同步工具。在 Go 语言中,除了通道之外,它们也算是最为常用的并发安全工具了。 说到通道,不知道你想过没有,之前在一些场合下里,我们使用通道的方式看起来都似乎有些蹩脚 ...