swift 初级 函数

①函数
(有返回值)的定义格式: 
注意:无论函数有无形参,必须得有”()"
func 函数名(形参列表) - >返回值类型{
//函数体
}
比如
func sum(num1: Int ,num2: Int )  -> Int {
   
return num1+num2
}
没有返回值的函数
有三种写法
func 函数名(形参列表)->Void {
//函数体
}
比如
func text1 (sum1: Int ) -> Void {
print ( "******** ”)}
稍微简单点的写法
func 函数名 (形参列表) ->{
//函数体
}
func text2 (sum1: Int ) ->(){
print ( "******" )
}
最简单的写法
func 函数名(形参列表){
//函数体
}
③返回元组类型
swift 函数也可以返回元组函数
比如:
func text3 (vanlue: Int ) ->(name: NSString , age: Int ){
   
if vanlue == 0 {
   
return ( "zhangsan" , 22 )
    }
else {
   
return ( "lisi" , 239 )
    }
}
var perple = text3 ( 1 )
perple . 1
④ 外部参数名
一般情况下通过参数的名字就能够推断出这个参数的含义和作用
func addSudent(name:String,age:Int,Nob:Int ){
...
}
在函数的内部看参数名就能知道这三个参数的作用
但是在使用函数的时候,函数的第一个参数就不看不到参数的名字导致以后不知道此参数的含义
addStude
nt(“jack”,age:20,Nob:19)
为了解决这个问题,swift提供了外部参数名语法
外部参数名定义的格式为:
func 函数名(外部参数名 形式参数名:形式参数类型)->返回值类型{
函数体
}
这样添加上外部参数名之后在使用函数的时候就参数的头部就会显示其函数参数名字的信息了
⑤ swift中的默认参数值
swift中可以在定义函数时,给形参指定一个默认值,调用函数时,就可以不用给这个形参传值
比如:
func addSudent(name: String ,age: Int = 20 ){
   
print ( " 添加学生 :name= \ ( name ),age= \ ( age )" );
}
addSudent ( "jack ”)  //这样也不会报错,如果想修改age属性的值,可以这样: addSudent ( "jack" ,age: 34 )
而且默认情况下,函数的参数都是常量参数,不能在函数内部修改
func text(num:Int){
  num = 10 //这样赋值是错得
}  
如果想修改属性的参数 可以这样
func text(var num:Int){
  num = 10 //这样赋值是错得
}  
⑥ 输入输出函数
在C语言中,利用指针可以在函数的内部修改外部变量的值,但在swift中,利用输入输出参数,也可以在函数的内部修改外部变量的值,输入输出参数,顾名思义,能输入一个值进来,也可以输出一个值到外部
定义:在参数名前面加个inout关键字即可
比如交换两个变量的值
func swap( inout num1: Int , inout num2: Int ){
   
let c = num1
    num1 = num2
    num2 = c
}

var a= 10
var b= 20
swap (& a , & b )
注意: 
1.传递实参时,必须在实参的前面加上&
2.不能传入常量货值字面量(比如10)作为参数值(因为他不可修改)
3.输入输出参数不能有默认值
4.输入输出参数不能是可变参数
5.输入输出参数不能再使用let var修饰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值