40、io包中的接口和工具 (上)

我们在前几篇文章中,主要讨论了strings.Builder、strings.Reader和bytes.Buffer这三个数据类型。 知识回顾还记得吗?当时我还问过你“它们都实现了哪些接口”。在我们继续讲解io包中的接口和工具之前,我先来解答一下这个...

Go语言核心36讲

41、io包中的接口和工具 (下)

上一篇文章中,我主要讲到了io.Reader的扩展接口和实现类型。当然,io代码包中的核心接口不止io.Reader一个。 我们基于它引出的一条主线,只是io包类型体系中的一部分。我们很有必要再从另一个角度去探索一下,以求对io包有更加全面的了解。 ...

Go语言核心36讲

42、bufio包中的数据类型 (上)

今天,我们来讲另一个与I/O操作强相关的代码包bufio。bufio是“buffered I/O”的缩写。顾名思义,这个代码包中的程序实体实现的I/O操作都内置了缓冲区。 bufio包中的数据类型主要有: Reader...

Go语言核心36讲

43、bufio包中的数据类型(下)

你好,我是郝林,我今天继续分享bufio包中的数据类型。 在上一篇文章中,我提到了bufio包中的数据类型主要有Reader、Scanner、Writer和ReadWriter。并着重讲到了bufio.Reader类型与bufio.Writer类型,...

Go语言核心36讲

44、使用os包中的API (上)

我们今天要讲的是os代码包中的API。这个代码包可以让我们拥有操控计算机操作系统的能力。 前导内容:os包中的API这个代码包提供的都是平台不相关的API。那么说,什么叫平台不相关的API呢? 它的意思是:这些API基于(或者说抽象自)操作系统,为我...

Go语言核心36讲

45、使用os包中的API (下)

你好,我是郝林,今天我们继续分享使用os包中的API。 我们在上一篇文章中。从“os.File类型都实现了哪些io包中的接口”这一问题出发,介绍了一系列的相关内容。今天我们继续围绕这一知识点进行扩展。 知识扩展问题1:可应用于File值的操作模式都有...

Go语言核心36讲

46、访问网络服务

你真的很棒,已经跟着我一起从最开始初识Go语言,一步一步地走到了这里。 在这之前的几十篇文章中,我向你一点一点地介绍了很多Go语言的核心知识,以及一些最最基础的标准库代码包。我想,你已经完全有能力独立去做一些事情了。 为了激发你更多的兴趣,我还打算用...

Go语言核心36讲

47、基于HTTP协议的网络服务

我们在上一篇文章中简单地讨论了网络编程和socket,并由此提及了Go语言标准库中的syscall代码包和net代码包。 我还重点讲述了net.Dial函数和syscall.Socket函数的参数含义。前者间接地调用了后者,所以正确理解后者,会对用好...

Go语言核心36讲

48、程序性能分析基础(上)

作为拾遗的部分,今天我们来讲讲与Go程序性能分析有关的基础知识。 Go语言为程序开发者们提供了丰富的性能分析API,和非常好用的标准工具。这些API主要存在于: runtime/pprof; net/http/pprof; runtime/trac...

Go语言核心36讲

49、程序性能分析基础(下)

你好,我是郝林,今天我们继续分享程序性能分析基础的内容。 在上一篇文章中,我们围绕着“怎样让程序对CPU概要信息进行采样”这一问题进行了探讨,今天,我们再来一起看看它的拓展问题。 知识扩展问题1:怎样设定内存概要信息的采样频率?针对内存概要信息的采样...

Go语言核心36讲
13456