Swift函数与类中方法的参数标签

前端之家收集整理的这篇文章主要介绍了Swift函数与类中方法的参数标签前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Objective-C中的函数标签也是函数参数的一部分,它避免了参数过多的情况下分不清每个参数的含义。Objective-C的优秀特性被Swift继承下来了。

1.函数的参数标签

Swift可以为每个函数的参数指定一个名字,在函数调用时,可以通过该标签获取对应参数的具体含义。

fun showInfo(sName name:String,sAge age:Int){
}

showInfo(sName: "weichuang",sAge:22)

//sName表示在外部调用函数时,需要显式地写出该参数的标签(命名)。

2.类中方法的参数命名规则

虽然在类的内部定义方法的方式和定义函数的方式相同,但是使用参数名称的规则却有所区别。

func sayTo(target:String,withWords:String){
}

me.sayTo("Ricky",withWords:"Hello,World")//me是sayTo所在类的对象

调用类中方法时,有如下规则:

  • 第一个参数的参数名缺省不需要写出来
  • 从第二个参数开始,所有的参数名称,需要在进行方法调用时写出来

以上的规则可以理解为:假如没有显式指定外部参数名,从第二个参数开始,所有的参数名称的前面相当于有一个”#”号,”#”用来表示局部参数名和外部参数为同一名称

当然,如果方法定义中显式制定了外部参数名的话,则在调用时,必须使用指定的外部参数名。

3.构造方法的参数名称

观察以下构造方法的实例:

init(name:String,age:Int){ } init(name:String){ } var p=Human(name:"chuang",age:22) var t=Human(name:"jie")

可以发现,被隐式调用的构造方法中的参数名称”name”和”age”在作为内部参数的同时也充当了外部参数。

在实例方法中,默认能充当外部参数名的参数是从第二个参数开始的,但是构造方法却是从第一个参数开始的。为什么会是这样呢?因为构造方法名称都是init,而实例方法本身往往就能说明第一个参数的意义。

猜你在找的Swift相关文章