个人简介

Echo Blog


江湖无名 安心练剑
  • Go语言核心36讲-42bufio包中的数据类型(上)
    42 bufio包中的数据类型 (上) 今天,我们来讲另一个与I/O操作强相关的代码包 bufio 。 bufio 是“buffered I/O”的缩写。顾名思义,这个代码包中的程序实体实现的I/O操作都内置了缓冲区。 bufio 包中的数据类型主要有: Reader ; Scanner ; Writer 和 ReadWriter 。 与 io 包中的数据类型类...
    2015-01-01 15:20:27 | Go语言核心36讲
  • Go语言核心36讲-41io包中的接口和工具(下)
    41 io包中的接口和工具 (下) 上一篇文章中,我主要讲到了 io.Reader 的扩展接口和实现类型。当然, io 代码包中的核心接口不止 io.Reader 一个。 我们基于它引出的一条主线,只是 io 包类型体系中的一部分。我们很有必要再从另一个角度去探索一下,以求对 io 包有更加全面的了解。 下面的一个问题就与此有关。 知识扩展 问题: io 包中的接口都有哪...
    2015-01-01 15:20:27 | Go语言核心36讲
  • Go语言核心36讲-40io包中的接口和工具(上)
    40 io包中的接口和工具 (上) 我们在前几篇文章中,主要讨论了 strings.Builder 、 strings.Reader 和 bytes.Buffer 这三个数据类型。 知识回顾 还记得吗?当时我还问过你“它们都实现了哪些接口”。在我们继续讲解 io 包中的接口和工具之前,我先来解答一下这个问题。 ** strings.Builder 类型主要用于构建字符串**,它...
    2015-01-01 15:20:27 | Go语言核心36讲
  • Go语言核心36讲-39bytes包与字节串操作(下)
    39 bytes包与字节串操作(下) 你好,我是郝林,今天我们继续分享bytes包与字节串操作的相关内容。 在上一篇文章中,我们分享了 bytes.Buffer 中已读计数的大致功用,并围绕着这个问题做了解析,下面我们来进行相关的知识扩展。 知识扩展 问题 1: bytes.Buffer 的扩容策略是怎样的? Buffer 值既可以被手动扩容,也可以进行自动扩容。并且,这两种扩容...
    2015-01-01 15:20:27 | Go语言核心36讲
  • Go语言核心36讲-38bytes包与字节串操作(上)
    38 bytes包与字节串操作(上) 我相信,经过上一次的学习,你已经对 strings.Builder 和 strings.Reader 这两个类型足够熟悉了。 我上次还建议你去自行查阅 strings 代码包中的其他程序实体。如果你认真去看了,那么肯定会对我们今天要讨论的 bytes 代码包,有种似曾相识的感觉。 前导内容: bytes.Buffer 基础知识 strin...
    2015-01-01 15:20:27 | Go语言核心36讲
  • Go语言核心36讲-37strings包与字符串操作
    37 strings包与字符串操作 在上一篇文章中,我介绍了Go语言与Unicode编码规范、UTF-8编码格式的渊源及运用。 Go语言不但拥有可以独立代表Unicode字符的类型 rune ,而且还有可以对字符串值进行Unicode字符拆分的 for 语句。 除此之外,标准库中的 unicode 包及其子包还提供了很多的函数和数据类型,可以帮助我们解析各种内容中的Unicode字...
    2015-01-01 15:20:27 | Go语言核心36讲
  • Go语言核心36讲-36unicode与字符编码
    36 unicode与字符编码 到目前为止,我们已经一起陆陆续续地学完了Go语言中那些最重要也最有特色的概念、语法和编程方式。我对于它们非常喜爱,简直可以用如数家珍来形容了。 在开始今天的内容之前,我先来做一个简单的总结。 Go语言经典知识总结 基于混合线程的并发编程模型自然不必多说。 在数据类型方面有: 基于底层数组的切片; 用来传递数据的通道; 作为一等类型的函数...
    2015-01-01 15:20:27 | Go语言核心36讲
  • Go语言核心36讲-35并发安全字典sync.Map(下)
    35 并发安全字典sync.Map (下) 你好,我是郝林,今天我们继续来分享并发安全字典sync.Map的内容。 我们在上一篇文章中谈到了,由于并发安全字典提供的方法涉及的键和值的类型都是 interface{} ,所以我们在调用这些方法的时候,往往还需要对键和值的实际类型进行检查。 这里大致有两个方案。我们上一篇文章中提到了第一种方案,在编码时就完全确定键和值的类型,然后利用Go语...
    2015-01-01 15:20:27 | Go语言核心36讲