在 Swift 中,参数前的 _(下划线)表示省略参数标签。

18 阅读1分钟

大家好,我的开源项目PakePlus可以将网页/Vue/React项目打包为桌面/手机应用并且小于5M只需几分钟,官网地址:pakeplus.com

区别:

  • 有 _:调用时直接传值,不需要写参数名

  • 没有 _:调用时必须写参数名 point:

没有 _ 的情况:

func normalizedToViewPoint(point: CGPoint) -> CGPoint {
    // 调用时:normalizedToViewPoint(point: somePoint)
}

有 _ 的情况:

func normalizedToViewPoint(_ point: CGPoint) -> CGPoint {
    // 调用时:normalizedToViewPoint(somePoint)
}

为什么这样设计?

  1. 更简洁的调用:对于某些方法,参数意义很明确,不需要额外标签

  2. 遵循 Swift API 设计准则:让调用读起来像句子

    <ul>
    	<li>
    	<p>好的:<code>move(to: point)</code></p>
    	</li>
    	<li>
    	<p>更好的:<code>moveTo(x: 10, y: 20)</code></p>
    	</li>
    	<li>
    	<p>简洁的:<code>normalizedToViewPoint(somePoint)</code></p>
    	</li>
    </ul>
    </li>
    

在你的代码中,使用 _ 让调用更简洁:

// 而不是:normalizedToViewPoint(point: someNormalizedPoint)
let viewPoint = normalizedToViewPoint(someNormalizedPoint)

这是 Swift 语言设计中为了提升代码可读性和简洁性的特性。

大家好,我是1024小神,技术群 / 私活群 / 股票群 或 交朋友 都可以私信我。 如果你觉得本文有用,一键三连 (点赞、评论、关注),就是对我最大的支持~