You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift闭包捕获列表省略in关键字的语法是否有官方文档说明?

Swift闭包捕获列表省略in关键字的语法说明

你碰到的这种省略in的写法是Swift官方认可的合法语法,属于闭包简化写法的一种,相关说明在《The Swift Programming Language》的Closures > Closure Expression Syntax章节里。

为什么可以省略in

Swift闭包的完整语法是:

{ [captureList] (parameters) -> ReturnType in
    statements
}

in的作用是分隔“捕获列表/参数/返回类型声明”和“闭包执行体”。当你不需要显式写参数列表和返回类型(编译器能自动推断出来)时,这部分声明被省略,in也就失去了分隔的必要,此时捕获列表之后可以直接跟执行体,不用写in。

你的示例代码里,闭包既没有参数也没指定返回类型,执行体是单一的print(greeting)语句,完全符合这个简化规则,所以[greeting]之后直接写执行体是合法的,和显式写in的版本功能完全一致。

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 10:42:03