go - ([]Constructor)(nil)是什么意思
问题描述
我正在阅读中间件的链接软件 Alice 的源代码,发现表达式:
func New(constructors ...Constructor) Chain {
return Chain{append(([]Constructor)(nil), constructors...)}
}
我对代码完全没有问题,除了我以前从未见过这个表达式([]Slice)(nil)
。有没有人有关于这种表达的任何信息?
解决方案
它将参数复制constructors
到一个新切片中,将其分配给Chain
文字中的一个字段,然后返回新结构。
它相当于
func New(constructors ...Constructor) Chain {
var tmp []Constructor
tmp = append(tmp, constructors...)
return Chain{tmp}
}
推荐阅读
- generics - Rust 中的泛型部分专业化
- python - 带有 sql 查询的 Python 可执行文件挂起
- python - 如何在 Python 中自动生成矩阵?
- javascript - 导出打字稿类型定义
- mutiny - Multi / Uni 操作员文档
- firebase - Firebase Auth authStateChanges 触发器
- r - 如何将州名添加到澳大利亚地图?
- r - 在 R 的不同子目录中创建相同的文件夹
- ruby-on-rails - Act_as_Taggable 不返回所选标签上的元素
- google-apps-script - 幻灯片创建上的高级幻灯片 api 未使用预定义布局