swift func: 我无法理解下划线作为可以编译的参数名
swift func: i can't understand underscore as a parameter name that can compile
如何使用下划线参数
func test(currentName name: String, _: Int) {
print("aa\(name) abc");
//how to use _ parameter?
}
test(currentName:"aa", 3)
_
表示调用test
函数时,不需要在第二个参数test(currentName:"aa", 3)
前写文字
如果你这样声明你的函数:
func test(currentName name: String, secondParameter: Int) {
print("aa\(name) abc");
//how to use _ parameter?
}
那么当你调用test
函数时,你必须这样调用:
test(currentName:"aa", secondParameter: 3)
如果你想使用函数的第二个参数但不想 "name" 它,你必须将函数的签名更改为 func test(currentName name: String, age _: Int)
然后将第二个参数引用为 age
.
func test(currentName name: String, _ age: Int) {
print("Name: \(name), age: \(age)")
}
test(name: "Piter", 3)
在Swift中,函数既有参数标签又有参数名称。这是为了在使用函数时清楚起见。想想一个普通的 C 函数,它是这样声明的:
string FunctionName(string firstName, string lastName)
看函数声明,很容易看出每个参数是什么。在这种情况下,名字和姓氏。然而,当它在代码中被调用时,它就不那么明显了,特别是如果参数值不是自描述的。例如:
FunctionName("Neil","Armstrong") // Fairly obvious
FunctionName("Bo","Ng") // Not so obvious
在swift中,参数既有标签又有名称。标签纯粹是为了清楚起见,因此可以更轻松地阅读和理解调用函数的代码,而无需深入其定义以完全理解它
let fullName = funcName(firstName: "Bo", lastName: "Ng")
在某些情况下,参数名是完全没有必要的,例如:
let total = addTwoNumbers(1,2)
所以标签是可选的,用下划线表示
func addTwoNumbers(_ firstVal:Int,_ secondVal:Int)
一般来说,你应该使用标签让你写的函数更清晰,除非你觉得参数完全是自描述的。
如何使用下划线参数
func test(currentName name: String, _: Int) {
print("aa\(name) abc");
//how to use _ parameter?
}
test(currentName:"aa", 3)
_
表示调用test
函数时,不需要在第二个参数test(currentName:"aa", 3)
如果你这样声明你的函数:
func test(currentName name: String, secondParameter: Int) {
print("aa\(name) abc");
//how to use _ parameter?
}
那么当你调用test
函数时,你必须这样调用:
test(currentName:"aa", secondParameter: 3)
如果你想使用函数的第二个参数但不想 "name" 它,你必须将函数的签名更改为 func test(currentName name: String, age _: Int)
然后将第二个参数引用为 age
.
func test(currentName name: String, _ age: Int) {
print("Name: \(name), age: \(age)")
}
test(name: "Piter", 3)
在Swift中,函数既有参数标签又有参数名称。这是为了在使用函数时清楚起见。想想一个普通的 C 函数,它是这样声明的:
string FunctionName(string firstName, string lastName)
看函数声明,很容易看出每个参数是什么。在这种情况下,名字和姓氏。然而,当它在代码中被调用时,它就不那么明显了,特别是如果参数值不是自描述的。例如:
FunctionName("Neil","Armstrong") // Fairly obvious
FunctionName("Bo","Ng") // Not so obvious
在swift中,参数既有标签又有名称。标签纯粹是为了清楚起见,因此可以更轻松地阅读和理解调用函数的代码,而无需深入其定义以完全理解它
let fullName = funcName(firstName: "Bo", lastName: "Ng")
在某些情况下,参数名是完全没有必要的,例如:
let total = addTwoNumbers(1,2)
所以标签是可选的,用下划线表示
func addTwoNumbers(_ firstVal:Int,_ secondVal:Int)
一般来说,你应该使用标签让你写的函数更清晰,除非你觉得参数完全是自描述的。