对照Java学习Swift--函数(Functions)
2016-03-19 10:36
399 查看
Java里面的函数和方法分的不是那么清,统一叫方法,因为Java里面所有的方法必须写在类中,Swift则不然,可以不写在类,被单独放在外面,这也许是Swift对函数和方法的区分吧。Java的方法和Swift的函数大体上差不多,但是灵活很多。下面我列出Swift函数的主要特点,并指出与Java的不同。
调用:
我们看Swift定义的函数用关键字func,参数定义的方式,放回的类型,跟Java是不同的,但也只是语法的不同,我们使用的方式是一样。
Swift还对参数定义的默认的值。这些在Java中都是不存在的。还可以给参数前加上inout来改变外部的变量,在Java中,则必须使用引用来实现。
函数的定义与调用
当你定义一个函数时,你可以定义一个或多个有名字和类型的值,作为函数的输入(称为参数,parameters),也可以定义某种类型的值作为函数执行结束的输出(称为返回类型,return type)。func sayHello(personName: String) -> String { let greeting = "Hello, " + personName + "!" return greeting }
调用:
print(sayHello("Anna")) // prints "Hello, Anna!" print(sayHello("Brian")) // prints "Hello, Brian!"
我们看Swift定义的函数用关键字func,参数定义的方式,放回的类型,跟Java是不同的,但也只是语法的不同,我们使用的方式是一样。
函数的参数
这点Swift跟Java有比较大的不同,Swift有内部和外部的参数名,默认情况下,外部参数名和内部参数名是一样,在调用函数时,第一个参数名可以省略,其他的参数名则不能省略,如果指定了单独的外部参数名则都不能省略。Swift还对参数定义的默认的值。这些在Java中都是不存在的。还可以给参数前加上inout来改变外部的变量,在Java中,则必须使用引用来实现。
函数类型(Function Types)
Swift中可以吧函数作为一个普通的类型来使用,Java中是不行的,Java可以使用接口来实现类似函数类型的功能。相关文章推荐
- swift中实现description
- 每天一点Swift(五)控制器的生命周期和SizeClass
- Swift柯里化(Currying)
- 对照Java学习Swift--控制流(Control Flow)
- Swift自定义转场动画
- iOS开发——Swift & Xcode
- swift 中通过AVFoundation来定制拍摄窗口
- swift系统学习第二章
- swift初始化函数失败
- ios开发之oc与Swift混合编程OC进入Swift的类 以及Swift进入OC的方法-附带一个属性传值...
- ios开发之oc与Swift混合编程OC进入Swift的类 以及Swift进入OC的方法-附带一个属性传值
- swift好东东
- Swift中的Lazy与计算属性
- Swift语言中用了willSet和didSet
- swift语言新特性:可选值
- IOS Swift UIImageView图片的填充模式
- Swift可选绑定、断言
- Swift语言 1小时速学教程
- Swift-2.10属性
- Swift-2.9类和结构体