查看: 4948|回复: 0

[手机开发] Swift语言中与C/C++和Java不同的语法(四)

发表于 2018-2-21 08:00:04

这一节,我们将会讨论一下Swift中的函数相关的基本内容

首先是函数的创建:

  1. func sayHello (name:String) -> String {
  2. return "Hello"+name
  3. }
复制代码

上述即是函数的创建方法:

  1. func函数声明的关键字 <br>sayHello函数名 <br>(name:String)参数列表 <br>-> String函数的返回值<br> {
  2. return "Hello"+name函数体
  3. }
复制代码

当函数没有返回值的时候可以这样写:

  1. func sayHello (name:String) -> Void {
  2. }
  3. 或者
  4. func sayHello (name:String) -> () {
  5. }
复制代码

需要注意的是Void 的V是大写的,因为Void是一个类型。

当有多个返回值的时候可以利用元组作为返回类型

  1. func findMaxAndMin(numbers:[Int])->(maxValue:Int,minVlue:Int){
复制代码
  1.   return (maxValue,minVlue)<br>}<br>let result = findMaxAndMin([1,2,3,4,5,6])<br>result.maxValue<br>result.minValue
复制代码

返回值需要与声明中的返回值名称一致。

为了防止传入的值为空,需要改为可选型:

  1. func findMaxAndMin(numbers:[Int])->(maxValue:Int,minVlue:Int)?{
  2. guard numbers.count > 0 else{
  3. return nil
  4. }
  5.   return (maxValue,minVlue)
  6. }
复制代码

通过guard关键字进行判断,在可选型中我们已经讲过了

在对函数进行调用的时候,所有的参数名都不可以省略:

  1. func sayHello (name:String, greeting:String) -> String {
  2. return name+greeting
  3. }
  4. sayHello(name:“PlayGround”, greeting:“Hello”)
  5. 如果在函数声明中用下划线代替:
  6. func sayHello (name:String, _:String) -> String {
  7. return name+greeting
  8. }
  9. 那么调用的时候可以省略
  10. sayHello(name:“PlayGround”, “Hello”)
复制代码



回复

使用道具 举报