reflect 与 reflectlite
go 语言标准库已经有了 reflect 包, 为什么标准库源代码里不直接使用 reflect 包而又写了一个 internal/reflectlite 包呢?
我是在看 context 源码发现的:github.com/golang/go/blob/master/s...
internal/reflectlite: github.com/golang/go/tree/master/s...
求指教
好像是为了解决循环依赖,不太确定
Package reflectlite implements lightweight version of reflect, not using any package except for "runtime" and "unsafe".
。轻量意味着更加高效,下面两个链接可以对比看下 golang.org/pkg/internal/reflectlit... golang.org/pkg/reflect/#Type@nanjingfm 为什么会高效呢,看代码只是从 reflect 包拷了一部分到 reflectlite,没有看出来哪里高效了