[Swift]7.0函数

7.1定义与调用

Swift中函数与c中函数大体相似,可以独立存在,作为全局函数;或是在别的函数中使用,
即嵌套函数。同样需要定义,再调用。

  • 7.1.1定义函数
    在Swift中,定义函数和c中不同,需要一个关键字func
    其语法格式
func 函数名(参数列表)->返回值类型{
     语句
     return 返回值
}

eg:

func rectanglearea(width:Double,height:Doule)->Double{  //定义求矩形面积函数
      let area = width * height
      return area
}
  • 7.1.2函数调用

函数名(参数名字:参数值)

print(rectanglearea(width:1e,height:2))
-------

7.2关于参数

  • 7.2.1无参数
    首先无参数是可以的
func sayHelloWorld()-> String{  
        return "hello,world"  
    }  
  • 7.2.2使用外部参数
    什么是外部参数?在函数中定义时,只在内部使用的参数叫作”局部参数名“,相对地,
    如7.1.2中调用时用的参数可称为”外部参数名“。
print( rectanglearea ( width : 10 , height : 10 ) )
//width 和 height 便是外部参数

我们还可以给每个参数提供一个外部参数名

func rectanglearea(W width:Double,H height:Doule)->Double{  //W,H 为所被提供的外部参数名
      let area = width * height
      return area
}

print( rectanglearea ( W : 10 , H : 10 ) ) 
  • 7.2.3省略外部参数
    外部函数名可以作为参数真实信息载体,使输入更准确,防止输入错漏。提高代码可读性,
    但Swift还是提供省略外部参数的方法

    在每个参数名前 加 _ (下划线)

func rectanglearea(_width:Double,_height:Doule)->Double{  //在每个参数名前加'_'(下划线)
      let area = width * height
      return area
}

参数较多时不要省略外部参数名,以防错漏。

  • 7.2.4参数默认值
    为参数设置一个值作为默认值,当调用参数时可忽略这个默认值,使用调用时的添加值。
func makeasong(fruit : String = "pen" )-> String{
     return "I have a \(fruit)"
}

let song1 = makeasong ()           //I have a pen
let song1 = makeasong (apple)      //I have a apple
let song3 = makeasong (pineapple)  //I have a pineapple
  • 7.2.5可变参数

参数个数不定时使用...来接受变量的定义
注意:变量类型要相同

func sum(numbers : Double...)-> Double{
   var total: Double = 0
   for i in numbers {
        total += number

   }
   return total
}


sum( -20 , 0.1 , 100)    //-20+0.1+100 = 80.1

7.3返回值

主要三种: 无返回值 , 单一返回值 , 多返回值。
单一返回值不再赘述。

  • 7.3.1无返回值
    去掉return语句
func 函数名(参数列表){
     语句                      //有三种方式 ,此为1
}

func 函数名(参数列表)->(){
     语句
}                              // 方法2

func 函数名(参数列表)->Void{
     语句
}                              // 方法3
  • 7.3.2多返回值
    需要多返回值时,有两种方法去实现。第一便是在函数定义时
    第二中是将返回值定义为元组类型
func position(dt : Double ,speed:(x :Int , y :Int)) -> (x :Int , y :Int){
   let posx : 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值