0%

Go 采用的是基于 错误值比较 的错误处理机制,即通过检查返回的 error 值来判断函数/方法是否执行成功,如果执行失败,也是通过该 error 值来携带具体的错误信息。相比于其他编程语言的 异常 错误处理机制,这种 值比较 机制更加简单,它要求在程序控制流程中显式关注和处理每个错误,这样的代码往往可读性更好,也符合 Go 追求简答的设计哲学。

标准库的 errors 包为 Go 的错误处理机制提供了基础支持,这篇文章将学习 errors 包的基本用法和原理。

阅读全文 »

Go 标准库中的 bytes 包提供了一系列工具来实现对 字节切片([]byte)的操作。bytes 包和 string 包提供了类似的工具类 API,只不过 bytes 包操作的字节切片,而 strings 包操作的是字符串类型。

这篇文章将学习 bytes 包的基本使用方法。

阅读全文 »

context 包定义了 Context 类型,通过该类型可以实现在不同流程间设置 deadline、通知取消信号、设置每请求关联值等功能。context 包简化了 Go 并发编程中不同 API/流程间的信息传递(取消信号、超时信号、每请求关联数据等都可以认为是要传递的信息)。

这篇文章主要介绍 context 包的使用及内部原理。

阅读全文 »