ios兴趣班(三)(swift:函数的定义与调用,函数参数)

1.函数的定义与调用:
使用func来声明函数,’->‘指定函数返回值

func test()
{
  print("qwert");
}

func test1()->Int
{
  return 100
}

test1(5)

 

2.参数:
(1)外部参数名
一般形式如下:
func 函数名(外部参数名 本地参数名:数据类型)
{
  代码
}
调用形式如下:
函数名(外部参数名:参数值)
例如:

func test(str1 s1: String,str2 s2: String, str3 s3: String)
{
  print("\(s1)\(s3)\(s2)")
}
test(stre: "Hello", str2: "Word", str3: "!")

 


其中,str1、str2、str3都是外部参数名。运行结果如下:
Hello!Word
(2)参数默认值

 

建议:有默认值的情况,参数统统都放在后面;调用时参数顺序,尽量与声明函数时的顺序一样

func add(a: Int , b: Int = 6 ,c: Int = 7) ->Int

{

    return a + b + c

}

add(3)//输出13

 

func add(a: Int , b: Int ,c: Int = 7) ->Int

{

    return a + b + c

}

add(3,b:6)//输出13

 

(3)可变长度参数

(4)参数值可变

 

定义:一个可变参数的参数接收零个或多个制定类型的值。写可变参数的参数时,需要在参数的类型名称后面加上(...)

 

 一个函数最多有一个可变参数并作为最后一个参数

 

func add(initNum: Int,numbers:Int...)->Int {
    var total = initNum
    for num in numbers {
        total += num
    }
    return total
}
add(5,numbers: 6,7,9)//输出27

 

 

 

 

 

 

 

 

(5)inout参数

 

 默认情况下,函数的参数是常量。可以通过var将其转换为变量,但这个变量对于外部是无效的,函数执行完就结束了

 

func vtest( var a: Int) ->Int{
        return (++a)
}
var i = 6
let result = vtest(i)  //此时i=7
i   // 这里i=6

 

 通过输入输出参数可以在函数内部修改函数外部的变量(在参数前用inout修饰。注意:这里只能传入变量,不能传入常量和字面量,因为这些是不能变的一旦定义,当我们传入的时候,在变量名字前面用&符号修饰表示,传递给inout参数,表明这个变量在参数内部是可以被改变的)

注意:inout修饰的参数是不能有默认值的,有范围的参数集合也不能被修饰,另外,一个参数一旦被inout修饰,就不能再被var和let修饰了

func vtest2( inout a: Int) ->Int
{
    
    a++
    return a
}
var m=8
//vtest2(m) //会报错
//调用时参数加上&符号
vtest2(&m) //9 m //9

 

posted @ 2015-11-17 20:44  你不知道的四叶草  阅读(1123)  评论(0)    收藏  举报