swift中直接给函数传递参数变量和传递参数的.self的区别
时间: 2023-05-29 15:05:09 浏览: 243
函数参数的传递
在Swift中,传递参数变量和传递参数的.self的主要区别在于它们传递的内容不同。
传递参数变量时,函数会使用该变量的值来执行它的操作。例如:
```
func printName(name: String) {
print("My name is \(name)")
}
let myName = "John"
printName(name: myName) // 输出 "My name is John"
```
在这个例子中,我们将myName变量的值作为参数传递给printName函数,并在函数内部使用了该值。
传递参数的.self时,函数会使用该类型本身来执行它的操作。例如:
```
class Person {
var name: String
init(name: String) {
self.name = name
}
func printName() {
print("My name is \(name)")
}
}
let john = Person(name: "John")
john.printName() // 输出 "My name is John"
```
在这个例子中,我们创建了一个Person对象,并调用其printName方法。在函数内部,我们使用了self关键字来引用该对象本身,而不是使用参数传递的变量。
因此,传递参数变量和传递参数的.self的主要区别在于它们传递的内容不同,前者传递的是变量的值,而后者传递的是类型本身。
阅读全文