swift基础---函数的基本使用

函数的介绍

  • 函数相当于OC中的方法

  • 函数的格式如下
    func 函数名(参数列表) -> 返回值类型 {
    代码块 return 返回值
    }

  • func是关键字,多个参数列表之间可以用逗号(,)分隔,也可以没有参数

  • 使用箭头“->”指向返回值类型

  • 如果函数没有返回值,返回值为Void.并且“-> 返回值类型”部分可以省略

常见的函数类型

  //没有参数没有返回值
  //注意  一个方法没有返回值->Void可以省略
  func sunb1()->Void{
      print(123)
  }
  func sunb11(){
      print(123)
  }
  sunb11()
  sunb1()
  //有参数没有返回值
  func dapao (Number:String){
    print("想办法干他一炮"+Number)
  }
  dapao(Number:"好吗--意大利炮")
  //没有参数有返回值

  func xiaoding()->String{
      return "你是我的眼"
  }
  xiaoding()
  //有参数有返回值

  func moguizhao (name:String, sex:String)->String {
      return name + sex
  }

函数的使用注意

  • 注意一: 默认参数某些情况,如果没有传入具体的参数,可以使用默认参数

    func makecoffee(type :String = "卡布奇诺") -> String { 
              return"制作一杯\(type)咖啡。"
    }
    let coffee1 = makecoffee(type: "拿铁")
    let coffee2 = makecoffee()
    
  • 注意二: 可变参数

    • swift中函数的参数个数可以变化,它可以接受不确定数量的输入类型参数

    • 它们必须具有相同的类型

    • 我们可以通过在参数类型名后面加入(...)的方式来指示这是可变参数

         func sum(numbers:Double...) -> Double { 
          var total: Double = 0; for number in numbers { 
              total += number
                 }
              return total
             }
            sum(numbers:100.0, 20, 30)
            sum(numbers:30, 80)
      
  • 注意三: 引用类型(指针的传递)

    • 默认情况下,函数的参数是值传递.如果想改变外面的变量,则需要传递变量的地址
      *必须是变量,因为需要在内部改变其值

    • 8Swift提供的inout关键字就可以实现

    • 对比下列两个函数

      // 函数一:值传递
      func swap(var a : Int, var b : Int) { 
      let temp = a;
      a = b;
      b = temp 
      print("a:\(a), b:\(b)")
      }
      var a = 10
      var b = 20
      swap(a, b: b)
      print("a:\(a), b:\(b)")
      // 函数二:指针的传递
      func swap1(inout a : Int, inout b : Int) {
      let temp = a 
      a = b
      b = temp 
      print("a:\(a), b:\(b)")
      }
      swap1(&a, b: &b)
      print("a:\(a), b:\(b)")

你可能感兴趣的:(swift基础---函数的基本使用)