Go 入门指南(The way to Go)
在编程中一些基本操作会一遍又一遍的出现,比如打开(Open)、关闭(Close)、读(Read)、写 (Write)、排序(Sort)等等,并且它们都有一个大致的意思:打开(Open)可以作用于一个文件、一 个网络连接、一个数据库连接等等。具体的实现可能千差万别,但是基本的概念是一致的。在 Go 语言 中,通过使用接口(参考 第 11 章),标准库广泛的应用了这些规则,在标准库中这些通用方法都有一致 Go入门指南 Persons 实现 Sorter 接口并进行测试。 11.8 第二个例子:读和写 读和写是软件中很普遍的行为,提起它们会立即想到读写文件、缓存(比如字节或字符串切片)、标准输 入输出、标准错误以及网络连接、管道等等,或者读写我们的自定义类型。为了是代码尽可能通用,Go 采取了一致的方式来读写数据。 io 包提供了用于读和写的接口 io.Reader 和 io.Writer : type Reader 在实际编程中尽可能的使用这些接口,会使程序变得更通用,可以在任何实现了这些接口的类型上使用读 写方法。 例如一个 JPEG 图形解码器,通过一个 Reader 参数,它可以解码来自磁盘、网络连接或以 gzip 压缩 的 HTTP 流中的 JPEG 图形数据,或者其他任何实现了 Reader 接口的对象。 11.9 空接口 11.9.1 概念 11.9.2 构建通用类型或包含不同类型变量的数组0 码力 | 380 页 | 2.97 MB | 1 年前3Go 入门指南(The way to Go)
在编程中一些基本操作会一遍又一遍的出现,比如打开(Open)、关闭(Close)、读(Read)、写(Write)、排 序(Sort)等等,并且它们都有一个大致的意思:打开(Open)可以作用于一个文件、一个网络连接、一个数据库连 接等等。具体的实现可能千差万别,但是基本的概念是一致的。在 Go 语言中,通过使用接口(参考 第 11 章), 标准库广泛的应用了这些规则,在标准库中这些通用方法都有一致的名字,比如 本文档使用 书栈(BookStack.CN) 构建 11.8 第二个例子:读和写 读和写是软件中很普遍的行为,提起它们会立即想到读写文件、缓存(比如字节或字符串切片)、标准输入输出、标 准错误以及网络连接、管道等等,或者读写我们的自定义类型。为了让代码尽可能通用,Go 采取了一致的方式来读写 数据。 io 包提供了用于读和写的接口 io.Reader 和 io.Writer : 在实际编程中尽可能的使用这些接口,会使程序变得更通用,可以在任何实现了这些接口的类型上使用读写方法。 例如一个 JPEG 图形解码器,通过一个 Reader 参数,它可以解码来自磁盘、网络连接或以 gzip 压缩的 HTTP 流中的 JPEG 图形数据,或者其他任何实现了 Reader 接口的对象。 11.8 第二个例子:读和写 11.8 第二个例子:读和写0 码力 | 466 页 | 4.44 MB | 1 年前3Go Web编程
不需要异常处理,应该当做错误来处理,这也是为什么Go语言采用了函数返回错误的设计,这些函数不会panic,例 如如果一个文件找不到,os.Open返回一个错误,它不会panic;如果你向一个中断的网络连接写数据,net.Conn系列 类型的Write函数返回一个错误,它们不会panic。这些状态在这样的程序里都是可以预期的。你知道这些操作可能会 失败,因为设计者已经用返回错误清楚地表明了这一点。这就是上面所讲的可以预期发生的错误。0 码力 | 295 页 | 5.91 MB | 1 年前3
共 3 条
- 1