Go的耻辱堂

https://github.com/golang/go/issues/67401

https://github.com/golang/go/commit/2a7ca156b8189c68c0a29b4c66194a42c5ce3c9b

https://github.com/golang/go/commit/9a8995b8b6a08d5fe01122771f962b36336f8aec

在最新的Go源码中搜 Notable members of the hall of shame include:

这篇文章讨论了在 Go 语言标准库中过度使用 //go:linkname 的问题,特别是对运行时内部的访问,可能导致未来改动时破坏依赖这些内部细节的广泛软件包。为了解决这个问题,提出了引入新标志 -checklinkname=1 的计划,要求所有 //go:linkname 使用都必须采用握手形式,确保双方同意。未来希望在整个生态系统中推广这种做法,以避免对内部细节的依赖成为不可维护的核心问题。


起因是这个json库 https://github.com/goccy/go-json

这篇内容介绍了一个名为go-json的快速JSON编码/解码库,专为Go语言设计,与标准库encoding/json兼容。它支持高度的定制化、上下文传播以及性能优化,包括使用池化缓冲区和避免反射操作等技术。该库还介绍了基于指令序列的编码方式,以及针对结构体字段查找的位图优化技术。总体目标是成为最快的JSON库之一,并提供了使用指南和性能比较。

文章目录