1,无返回值的函数 
  
   
   
 
  
  
  
 
 2,返回一个返回值 
  
   
   ) -> 
         
 
  
  
  
 
 3,返回由多个值组成的复合返回值 
  
   
   
         3 
        
       
 
  
  
  
 
 4,可变形参:可以接受0个或者任意数量的输入参数 
  
   
   
         5 
        
       
 
  
 
5,在Swift函数中,参数默认是常量。如果要改变参数的值,就需要在定义函数的时候加上关键字var。(外部的参数任然不会被修改) 
   
   
         7 
        
       
 
  
 
6,如果想要同时改变函数内外的参数值,可以利用inout关键字,同时调用函数的时候给参数加上前缀“&” 
   
   add(&age) 
         
        
 
  
 
7,可以使用函数类型的参数 
   
   
         10 
         
      
 
  
 
8,也可以使用函数类型的返回值 
   
   
         12 
        
       
 
  
 
|  
        
         1 
         
       
         2 
         
       
         3 
          |  
       
       func 
         test(name: 
         String 
         ){ 
        } 
         |  
     
) -> ( 
         Int 
         , 
         var 
         position = 1 
         
        visible = 
           
        false 
        return 
           
        (position,visible) 
        } 
          
         |  
      
     
   
test(numbers: 
         ...) -> 
         count: 
         = 0 
         
        for 
           
        number 
         in 
         numbers{ 
        count += number 
        } 
          
        count 
          
        } 
          
         |  
      
     
   
5,在Swift函数中,参数默认是常量。如果要改变参数的值,就需要在定义函数的时候加上关键字var。(外部的参数任然不会被修改)
| age = 22 
         
         add(age) 
          
        //无法编译 
        add(age: 
           
        ) { 
        age += 1 
          
        } 
          
        //可以编译 
          
        add( 
           
        age: 
         ) { 
        age += 1 
          
        } 
          
         |  
      
     
   
6,如果想要同时改变函数内外的参数值,可以利用inout关键字,同时调用函数的时候给参数加上前缀“&”
7,可以使用函数类型的参数
additive(a: 
         ottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.5em!important; margin:0px!important; overflow:visible!important; padding:1px 0px!important; position:static!important; right:auto!important; top:auto!important; vertical-align:baseline!important; width:auto!important; font-family:Consolas,b: 
         a + b 
         
        } 
          
        //函数类型的参数 
          
        printAdditiveResult(addFun: ( 
           
        ottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.5em!important; margin:0px!important; overflow:visible!important; padding:1px 0px!important; position:static!important; right:auto!important; top:auto!important; vertical-align:baseline!important; width:auto!important; font-family:Consolas,a: 
         ){ 
        ( 
         "Result:\(addFun(a,b))" 
         ) 
        } 
          
        printAdditiveResult(additive,a: 5,b: 7) 
          
         |  
      
     
   
8,也可以使用函数类型的返回值
| //定义个自增函数 
         
         increase(input: 
           
        { 
        input + 1 
          
        } 
          
        //定义个自减函数 
          
        reduce(input: 
           
        { 
        input - 1 
          
        } 
          
        //定义一个返回函数类型的函数 
          
        chooseFunction(backwards: 
           
        { 
        backwards ? reduce : increase 
          
        } 
          
        //测试 
          
        let 
           
        aFun = chooseFunction(3>2) 
        (aFun(3)) 
           
        //2 
         |  
      
     
   
原文出自: www.hangge.com 转载请保留原文链接: http://www.hangge.com/blog/cache/detail_517.html