Swift是苹果新推出的用于苹果系列设备开发的语言,由于是发布时间不长,因此有些东西老在变化中,在百度或者google上搜索能找到很多相关的说明,但因为过时了,很多都是错误的。
Swift的函数,也包括类中的方法,在3.0版本中都统一了。简单来说就是:
1.有参数标签(argument label)的,在函数调用时必须包含参数标签;
如后面代码中getMyAge()函数的MyName就是一个参数标签。
2.如果该函数没有写明参数标签,默认为形参名。
如后面代码中的Person的构造函数及getInfo()方法;
3.如果参数标签为下横杠_,则函数调用时不允许包含参数名称。
如后面代码中的getSex()函数;
少废话,上代码:
class Person{
var name:String
var age:Int
init(name:String, age:Int) {
self.name = name
self.age = age
}
func getInfo(name :String,age:Int) ->Int
{
return 90;
}
}
func getMyAge(MyName name:String) ->Int
{
if name=="lsy"{
return 30
}
else {
return 0
}
}
func getSex(_ name:String) ->String
{
return "man";
}
var myAge = getMyAge(MyName: "lsy");
var t = Person(name:"lsy",age:15);
var sex = getSex("lsy");
let info = t.getInfo(name: "asdf", age: 15);
函数getMyAge()这种定义方法其实和OC几乎是一样的,目前看来也是最稳定的方式。
个人认为,当一个语言还没有比较稳定时,贸然采用之用于开发大型项目,很可能给后期带来不少麻烦。当然,当一门新的技术或者语言出现时,进行及时的学习和跟踪倒是很有必要的。如有错误之处,欢迎留言指正。