方法的参数名
方法的所有参数都有一个内部参数和一个外部参数,内部参数(internalName)是在方法中拥有一个本地变量的名字,外部参数(external)是在内部参赛前的部分,给调用者提供。
- func foo(external internalName: Int) {
- let local = internalName
- }
- func bar() {
- //调用时写上外部参数名
- let result = foo(external: 123)
- }
可以同时拥有外部参数和内部参数,名字可以不同。可以使用下划线来省略外部参数名。
- func foo(_ internalName: Int) {
- let local = internalName
- }
- func bar() {
- //调用时无外部参数名
- let result = foo(123)
- }
Swift语言中,函数的第一个参数的外部参数默认为下划线,如果想强制显示第一个参数的外部参数可以把第一个参数名在前面再写一遍(即写出外部参数名)
- func foo(internalName internalName: Int) {
- let local = internalName
- }
- func bar() {
- let result = foo(internalName: 123)
- }
除第一个参数外的参数外部参数默认与内部参数相同,也可自己指定
- func foo(first: Int,externalSecond second: Double) {
- let local = internal
- }
- func bar() {
- let result = foo(123,externalSecond: 5.5)
- }
Swift语言方法命名时的习惯时通过函数名描述第一个参数的意义,通过外部参数入使用者了解其余参数的意义,所以会出现上述的规则