Swift函数中的下划线

时间:2015-10-11 20:16:49

标签: ios swift func

我目前正在阅读的有关Swift游戏开发主题的书中引用了没有第一个参数的Swift函数,而是使用了这样的下划线....

URLForResource(_,withExtension)

在实际的代码示例中,下划线被一个值替换,但是当只是引用该函数时,它就是如上所述。我也看到它以这种方式写在Apple文档中。

我只是不明白为什么下划线在那里。如果这是你引用某个函数的方式,那么用户应该如何知道代替下划线的值是什么?

我已经读过函数中的第一个参数不必具有外部名称,这很好,但是省略第一个参数似乎会导致额外的步骤查找函数以查看要传递的参数。

如果有人能为我解决这个问题,我会很高兴。 感谢

1 个答案:

答案 0 :(得分:2)

因此,如果您不希望用户输入变量名称,则只需使用下划线。例如,func foo(x: Int, y: Int)被称为foo(6, y: 10),因此如果您不希望任何调用函数的人必须编写y,您将创建函数func foo(x: Int, _ y: Int)。此外,如果您希望被调用者必须编写x和y,则可以编写func foo(x x: Int, y: Int)。所有这些都是风格。因此,我会做有意义的事情。在xCode中,显然有自动完成,所以我总是保留参数名称,因为这样可以使代码更清晰。因此,除了使代码更容易理解之外,使用下划线或函数变量名称并不值得注意。