为了账号安全,请及时绑定邮箱和手机立即绑定

使用带有匿名函数的标签

使用带有匿名函数的标签

Go
饮歌长啸 2021-08-30 16:39:11
包的源代码中的Pool 结构中有一个 New 函数sync,其定义如下type Pool struct {local unsafe.Pointer // local fixed-size per-P pool, actual type is [P]poolLocallocalSize uintptr // size of the local array// New optionally specifies a function to generate// a value when Get would otherwise return nil.// It may not be changed concurrently with calls to Get.New func() interface{}}在Facebook 创建的golang 堆栈跟踪包的第 103 行,在同步池结构中定义了一个匿名函数,如下所示New::var pcsPool = sync.Pool{    New: func() interface{} {        return make([]uintptr, maxStackSize)    },}所以,从源代码中的注释来看,我假设 Facebook 包已经“指定了一个函数来生成一个值,当 Get 否则返回 nil 时”,但为什么它会被定义为New:这样呢?
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信