当前位置:  开发笔记 > 编程语言 > 正文

如何使函数参数可选(避免每次调用所有参数)

如何解决《如何使函数参数可选(避免每次调用所有参数)》经验,为你挑选了1个好方法。

我想使一个函数参数可选,所以当我调用该函数时,我并不总是需要所有三个参数,例如:

func doSomething(name: String, age: String, gender: String?)

在这种情况下,我不想总是指定性别,所以我可以打电话:

doSomething(name: "Dave", age: 25, gender: "Male")

或遗漏性别,只需致电:

doSomething(name: "Dave", age: 25)

但是,当我这样做时,它告诉我它意外地发现了nil,或者说有一个缺失的参数,我怎么能让'gender'输入可选?



1> hannad..:

只需给它一个默认值.

func doSomething(name: String, age: String, gender: String? = "Male")

要么

func doSomething(name: String, age: String, gender: String? = nil)

引自Docs

您可以通过在该参数的类型之后为参数赋值来为函数中的任何参数定义默认值.如果定义了默认值,则可以在调用函数时省略该参数.

更新:请注意,声明一个可选类型的变量并不意味着您可以在调用该函数时省略此参数.它只是意味着此参数可以包含取决于其类型的值,或者a nil.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有