当我将firstThing设置为默认值为零时,这将工作,没有默认值nil,我得到一个错误,调用该函数时缺少一个参数。
通过输入Int?我以为它是可选的,默认值为零,是吗?如果是这样,为什么没有= nil?
func test(firstThing: Int? = nil) { if firstThing != nil { print(firstThing!) } print("done") } test()
可选项和默认参数是两个不同的东西。
An可选是一个可以为零的变量,就是这样。
默认参数在省略该参数时使用默认值,默认值如下所示:func test(param:Int = 0)
如果您指定一个可选参数,则必须提供该参数,即使您要传递的值为零。如果你的函数看起来像这个func测试(param:Int?),你不能像这个test()一样调用它。即使参数是可选的,它没有默认值。
你也可以组合这两个,并且有一个可选参数,其中nil是默认值,如下所示:func test(param:int?= nil)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。