Go2 Error Inspection前瞻
这几年关于Go语言未来演化的讨论成为了Gopher世界的热点,Go team官方对于Go语言的演化(以Go2为标签)也是十分上心,但吸取了其他语言,比如:Python3割裂社区的、不兼容演化的教训,Go team最终选择了一条尽可能地兼容Go1、稳健、平滑的演化之路,并逐渐开始落地。Go 1.11的Go modules是Go team开启Go2演化进程的标志性事件。随着“Go 2 Draft Design”的发布,Go team正在努力着手解决Go社区反响较为强烈的Error handling、Error values和Generics(泛型)这三个问题。从目前的进展上来看,Go error value相关机制的改善近期率先在以Proposal形式出现,并给出了待社区反馈的参考实现(golang.org/x/exp/xerrors),并很可能是继Go module之后第二个落地的Go2 特性。在本文中,我们就和大家一起来前瞻性探索一下Go2 error inspection及其参考实现。 ...