目录 error 的困局 尝试破局 Errors are just values handle not just check errors Only handle errors once 小结 胎死腹中的 try 提案 go 1.13 的改进 fmt.Errorf Unwrap Is As 总结 参考资料 写过 C 的同学知道,C 语言中常常返回整数错误码(errno)来表示函数处理出错,通常用 -1 来表示错误,用 0 表示正确. 而在 Go 中,我们使用 error 类型来表示错误,不过它不
sort包中提供了很多排序算法,对自定义类型进行排序时,只需要实现sort的Interface即可,包括: func Len() int {... } func Swap(i, j int) {... } func Less(i, j int) bool {... } 使用方法举例如下: package main import ( "fmt" "sort" ) type Person struct { Name string Age int } func (p Pe
综述 变量声明时未赋初值,则变量被自动赋值为该类型的零值(固定值) func new(Type) *Type new()返回一个指针,指向新分配的该类型的零值,不是空指针(nil).the value returned is a pointer to a newly allocated zero value of that type. func make(t Type, size ...IntegerType) Type make()只适用于slice.map.chan,此三种类型创建时推荐使用
error定义 数据结构 go语言error是一普通的值,实现方式为简单一个接口. // The error built-in interface type is the conventional interface for // representing an error condition, with the nil value representing no error. type error interface { Error() string } 创建error 使用errors.Ne