iOS开发之Swift语言-函数是一个完成独立任务的代码块,Swift中的函数不仅可以像C语言中的函数一样作为函数的参数和返回值,而且还支持嵌套,swift函数和c#,js的写法大致一直,但是与object-c写法有很大不同点。
我们看一下swift中函数的形式有哪些:
无返回值的函数
func test(name:String){
}
返回一个返回值
func test(name:String) -> Bool{
return true
/*
参数变量是默认常量类型,不能在函数函数体里面直接修改
即 test(name:String) 与 test(let name:String)写法是相同的,即value 是常量。
*/
//----------------------错误写法--------------
//name = "A"
}
如果要改变参数的值,就需要在定义函数的时候加上关键字var
func add(var age:Int) {
age += 1//外部的参数任然不会被修改
}
如果想要同时改变函数内外的参数值,可以利用inout关键字,同时调用函数的时候给参数加上前缀“&”
func add(inout age:Int){
age += 1
}
var age = 22
add(&age)
print(age) //23
可以给参数设定默认值
func SayHello(value:String = "AA"){
print("value=\(value)")
}
SayHello("10") //带参数
SayHello()//不带参赛
可以接受0个或者任意数量的输入参数
func test(numbers:Int...) -> Int{
var count:Int = 0
for number in numbers{
count += number
}
return count
}
返回由多个值组成的复合返回值
func test(name:String) -> (Int,Bool){
var position = 1
var visible = false
return (position,visible)
}
可以使用函数类型的参数
func additive(a:Int, b:Int) -> Int{
return a + b
}
//函数类型的参数
func printAdditiveResult(addFun: (Int, Int) -> Int, a:Int, b:Int){
print("Result:\(addFun(a,b))")
}
printAdditiveResult(additive, a: 5 ,b: 7)
也可以使用函数类型的返回值
//定义个自增函数
func increase(input:Int) -> Int{
return input + 1
}
//定义个自减函数
func reduce(input:Int) -> Int{
return input - 1
}
//定义一个返回函数类型的函数
func chooseFunction(backwards:Bool) -> (Int) -> Int{
return backwards ? reduce : increase
}
//测试
let aFun = chooseFunction(3>2)
print(aFun(3)) //2
外部参数名:
基本形式:
func 函数名 (参数变量:类型 ,参数说明 参数变量:类型)
函数中的第一个不需要参数说明
参数说明 + 参数名 : 类型 ,构成一个参数
调用方法
函数名(参数值,参数说明:参数值,参数说明:参数值....)
func Hello(value : String, myStr value1 : String){
var str = value + value1
print("str= \(str)")
我们看一下swift中函数的形式有哪些:
无返回值的函数
func test(name:String){
}
返回一个返回值
func test(name:String) -> Bool{
return true
/*
参数变量是默认常量类型,不能在函数函数体里面直接修改
即 test(name:String) 与 test(let name:String)写法是相同的,即value 是常量。
*/
//----------------------错误写法--------------
//name = "A"
}
如果要改变参数的值,就需要在定义函数的时候加上关键字var
func add(var age:Int) {
age += 1//外部的参数任然不会被修改
}
如果想要同时改变函数内外的参数值,可以利用inout关键字,同时调用函数的时候给参数加上前缀“&”
func add(inout age:Int){
age += 1
}
var age = 22
add(&age)
print(age) //23
可以给参数设定默认值
func SayHello(value:String = "AA"){
print("value=\(value)")
}
SayHello("10") //带参数
SayHello()//不带参赛
可以接受0个或者任意数量的输入参数
func test(numbers:Int...) -> Int{
var count:Int = 0
for number in numbers{
count += number
}
return count
}
返回由多个值组成的复合返回值
func test(name:String) -> (Int,Bool){
var position = 1
var visible = false
return (position,visible)
}
可以使用函数类型的参数
func additive(a:Int, b:Int) -> Int{
return a + b
}
//函数类型的参数
func printAdditiveResult(addFun: (Int, Int) -> Int, a:Int, b:Int){
print("Result:\(addFun(a,b))")
}
printAdditiveResult(additive, a: 5 ,b: 7)
也可以使用函数类型的返回值
//定义个自增函数
func increase(input:Int) -> Int{
return input + 1
}
//定义个自减函数
func reduce(input:Int) -> Int{
return input - 1
}
//定义一个返回函数类型的函数
func chooseFunction(backwards:Bool) -> (Int) -> Int{
return backwards ? reduce : increase
}
//测试
let aFun = chooseFunction(3>2)
print(aFun(3)) //2
外部参数名:
基本形式:
func 函数名 (参数变量:类型 ,参数说明 参数变量:类型)
函数中的第一个不需要参数说明
参数说明 + 参数名 : 类型 ,构成一个参数
调用方法
函数名(参数值,参数说明:参数值,参数说明:参数值....)
func Hello(value : String, myStr value1 : String){
var str = value + value1
print("str= \(str)")
}
Swift语言苹果官方发布最新iPhone语言,iOS开发教程——Swift语言一款易学易用的编程语言,而且它还是第一套具有与脚本语言同样的表现力和趣味性的系统编程语言。可与Objective-C*共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。