golang type assertion and unsafe.Pointer 性能对比 最近项目中有这样一个需求背景:有一个存储实体用来做各种指标的counter。这个counter的实现需要能够在以后被别的实现替换。结构自然是这样: type XXXObj struct { startTime uint64 counter interface{}//暂时用interface{}表示,表示该对象类似于泛型的存在 } 为了避免对象拷贝,所以其实这里存储的一定会是一个指针。所以这里还有一个可选方案:unsafe.Pointer. 最初的设计,这一块更像泛型的一种思想,所以很自然的使用了i