当我将firstThing
设置为默认值nil
时,这将起作用,如果没有默认值nil
,我会得到一个错误,即调用函数时缺少参数.
通过输入Int?
,我认为它是可选的,默认值为nil
,对吗?如果是这样的话,为什么没有= nil
就不行呢?
func test(firstThing: Int? = nil) {
if firstThing != nil {
print(firstThing!)
}
print("done")
}
test()
当我将firstThing
设置为默认值nil
时,这将起作用,如果没有默认值nil
,我会得到一个错误,即调用函数时缺少参数.
通过输入Int?
,我认为它是可选的,默认值为nil
,对吗?如果是这样的话,为什么没有= nil
就不行呢?
func test(firstThing: Int? = nil) {
if firstThing != nil {
print(firstThing!)
}
print("done")
}
test()
选项和默认参数是两码事.
一个可选的变量可以是nil
,就是这样.
默认参数使用default值当您忽略该参数时,该默认值的指定方式如下:func test(param: Int = 0)
如果指定的参数是可选的,则必须提供该参数,即使要传递的值是nil
.如果你的函数看起来像func test(param: Int?)
,你不能像test()
那样调用它.尽管参数是可选的,但它没有默认值.
您还可以将这两者结合起来,使用一个可选参数,其中nil
是默认值,如下所示:func test(param: Int? = nil)
.