mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2025-08-08 16:21:43 +00:00
change escape of ch7
This commit is contained in:
@@ -20,7 +20,7 @@ type errorString struct { text string }
|
||||
func (e *errorString) Error() string { return e.text }
|
||||
```
|
||||
|
||||
承载errorString的类型是一个结构体而非一个字符串,这是为了保护它表示的错误避免粗心(或有意)的更新。并且因为是指针类型*errorString满足error接口而非errorString类型,所以每个New函数的调用都分配了一个独特的和其他错误不相同的实例。我们也不想要重要的error例如io.EOF和一个刚好有相同错误消息的error比较后相等。
|
||||
承载errorString的类型是一个结构体而非一个字符串,这是为了保护它表示的错误避免粗心(或有意)的更新。并且因为是指针类型`*errorString`满足error接口而非errorString类型,所以每个New函数的调用都分配了一个独特的和其他错误不相同的实例。我们也不想要重要的error例如io.EOF和一个刚好有相同错误消息的error比较后相等。
|
||||
|
||||
```go
|
||||
fmt.Println(errors.New("EOF") == errors.New("EOF")) // "false"
|
||||
@@ -38,7 +38,7 @@ func Errorf(format string, args ...interface{}) error {
|
||||
}
|
||||
```
|
||||
|
||||
虽然*errorString可能是最简单的错误类型,但远非只有它一个。例如,syscall包提供了Go语言底层系统调用API。在多个平台上,它定义一个实现error接口的数字类型Errno,并且在Unix平台上,Errno的Error方法会从一个字符串表中查找错误消息,如下面展示的这样:
|
||||
虽然`*errorString`可能是最简单的错误类型,但远非只有它一个。例如,syscall包提供了Go语言底层系统调用API。在多个平台上,它定义一个实现error接口的数字类型Errno,并且在Unix平台上,Errno的Error方法会从一个字符串表中查找错误消息,如下面展示的这样:
|
||||
|
||||
```go
|
||||
package syscall
|
||||
|
Reference in New Issue
Block a user