swift - 在 Swift 中函数调用后的代码块中做什么?
问题描述
我试图做一个最小的例子,如果有任何错误/问题,请原谅我:
func foo(numberOfItems: Int) {
let myArray = Array()
let count = 0
for _ in 0..<(numberOfItems) {
let item = count
myArray.append(item)
count += 1
}
}
func bar() -> Int {
foo(numberOfItems: 5) { (item) in // what does this do?
return item
}
}
在 function中,调用后带有关键字bar
的代码块做什么?或者如果这个具体的例子没有意义,在什么情况下会使用这样的东西?in
foo
解决方案
'闭包主体的开头由 in 关键字引入。这个关键字表示闭包的参数和返回类型的定义已经完成,闭包的主体即将开始。
有关闭包的更多信息,您可以阅读这篇文章:https ://docs.swift.org/swift-book/LanguageGuide/Closures.html
推荐阅读
- c++ - 如何将动态库“-li2c”与Cmake链接?(未定义对 `i2c_smbus_write_byte_data` 的引用)
- c++ - 如何从 cmake 在 clion 中运行 doxygen
- typescript - 您可以为根目录之外的引用设置路径别名吗
- javascript - `this` 未正确绑定
- kubernetes - 将prometheus数据暴露在集群外
- google-cloud-platform - 即使在将公钥添加到 GCP ssh 密钥后,在“权限被拒绝(公钥)”中也会出现错误 SSHing
- python - 如何在子图内创建图?
- sql - 选择所有相关记录
- dictionary - 从 xml 转储模板中提取德语动词变位
- windows - 批处理 - 循环遍历文本文件