1.函数调用时,第一个参数默认可以不写。在3.0这条行不通,编译器要求 调用函数时显示的说明第一个参数。
如图
2.重载函数,多参数默认值时,在swift 2.x会引起冲突。在3.0也被优化了。当然第一条可能是为了实现第二条而进行了统一。调用时优先调用参数个数配对的函数。
如图
3.函数参数命名与函数调用时进行了严格配对。
如在函数定义中 使用了”_”,那么在函数调用时就不能再写成 “参数:数据”的形式,编译会报错。
如下图所示:函数虽然是一个参数,但由于调用时对应为“name:数据”的形式编译器调用了第三个函数
4.同时外参不同依然代表不同的函数。没外参时,内参不同也OK。
5.所以在函数调用时,务必做到一一对应不然会引起不必要的麻烦。当然为了避免版本更新带来的伤害,两种选择,1)跟内外参说再见,恢复C++习惯。2)遵守内参游戏规则。外参我想说在这里真鸡肋