gpt4 book ai didi

ios - Swift 中的可选默认参数

转载 作者:IT王子 更新时间:2023-10-29 05:11:54 28 4
gpt4 key购买 nike

我在Swift中具有默认参数的函数。

func test(string: String = "", middleString: String = "", endString: String = "") -> Void {
// do stuff
}

我想传入将是可选字符串的变量。

let string: String? 
let middleString: String?
let endString: String?

如何实现,如果参数为nil,则使用默认参数。如果不是,则使用可选值中的值。

测试(字符串,middleString:middleString,endString:endString)

最佳答案

您必须使用可选字符串 String? 作为参数类型,默认值为 nil。然后,当您调用您的函数时,您可以提供一个字符串或忽略该参数。

func test(string: String? = nil, middleString: String? = nil, endString: String? = nil) -> Void {
let s = string ?? ""
let mS = middleString ?? ""
let eS = endString ?? ""
// do stuff with s, mS, and eS, which are all guaranteed to be Strings
}

在您的函数中,您必须检查每个参数是否为 nil 并替换为默认值。使用 ?? 运算符可以让这一切变得简单。

然后您可以通过提供所有参数、不提供参数或仅提供您想要包括的参数来调用您的函数:

test(string: "foo", middleString: "bar", endString: "baz")
test()
test(string: "hello", endString: "world")

关于ios - Swift 中的可选默认参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31301844/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com