今天给大家介绍 swift函数,swift函数和c#,js的写法大致一直,但是与object-c写法有很大不同点。废话不多说,直接开始了。
1:函数 --class="s1">常量参数
func 函数名( 参数变量:类型 ,参数变量:类型...){} 说明: 1: func 是函数关键字
2:{} 函数体 3: 参数变量是默认常量类型,不能在函数函数体里面直接修改
即 func A (value:String) 与 func A (let value:String)写法是相同的,即value 是常量。
/* 1: func 函数关键字 2:两个参数变量 value 和value1都是常量 不能修改 3:SayHello("hello","swift") 调用函数的方法 */ func SayHello(value :String,value1:String){ var str = value + " " + value1 println(str) } SayHello("hello","swift") 运行结果 hello swift 注意点: ----------------------错误写法-------------- func SayHello(value :String,value1:String){ value = "AA" //错误写法 在函数中参数变量默认是常量类型不能修改 }
2:函数 --变量参数
func 函数名( var 参数变量 : 类型,... ) {} 说明 1: func 函数关键字 2: var 参数变量 :类型 表示参数变量是可变变量,不是常量,可以任意修改
例子
func SayHello(var value :String){ value = "AA" //value 是被var 修改,value是可变变量 println(value) } SayHello("hello") 运行结果 AA
3:函数 --参数默认值
func 函数名(参数值 :类型=默认值){}
说明
1:func是函数的关键字
2:如果参数值,不赋值,参数值就采用默认值
例子
func SayHello(value:String = "AA"){ println("value=\(value)") } SayHello(value:"10") //带参数 SayHello()//不带参赛 运行结果 value=10 value=AA
三:函数 --可变参数
func 函数名(参数名 类型...){}
说明 :
参数名 类型... 说明 该参数可以接触N个参数。
例子
func SayHello(values :Double...){ for temp in values{ println("temp=\(temp)") } } SayHello(1.1,1.2,1.3) 运行结果 temp=1.1 temp=1.2 temp=1.3
4:函数 --外部参数名
func 函数名 (参数变量:类型 ,参数说明 参数变量:类型) 说明: 1:函数中的第一个不需要参数说明 2:参数说明 + 参数名 : 类型 ,构成一个参数 调用方法 函数名(参数值,参数说明:参数值,参数说明:参数值....)
例子
// joinStr value1 : String 是一个参数 func SayHello(value : String, joinStr value1 : String){ var str = value + value1 println("str= \(str)") } SayHello ("hello ",joinStr:"Swift") 运行结果 str=hello Swift
5:函数 输入输出参数
func 函数名(inout 函数变量 类型)
说明:
inout 修辞的变量 函数内部可以直接修改,其外部可以获取到
例子:
func SayHello (inout value:String){ value = "Hello Swift" } var str = "hello" SayHello(&str) //此时传递 字符串的地址 println(str) 运行结果 Hello Swift
6:函数返回值 --元组
/* func 函数名 ( 参数变量 : 类型 ,参数说明 参数变量 :类型)-> 类型 1:func 函数关键字 2: ->类型 ,返回类型 */
例子
//------------------------返回 元组 func SayHello(value:String ,nums Value1:String)->(String,String){ return (value,Value1) } var (A,B)=SayHello("hello",nums:"swift") println("A=\(A),B=\(B)")
运行结果
A=hello,B=swift
7:函数返回值 ---函数
// 自加函数 func Add(num : Int)->Int{ return num + 1 } //自减函数 func zj(num : Int)->Int{ return num - 1 } //定义返回函数类型 func SayHello(num:Bool)->(Int)->Int{ //其中 (Int)->Int 返回参数为整形,返回值为整形的函数 return num ? Add : zj } var num = 10 var fun:(Int)->Int = SayHello(num > 5); num = fun(num) println("num=\(num)") 运行结果 num=11
后面的文章,我回陆续把我学习到swift语言的知识写出来形成一个系列。由于是新语言,难免有不足,欢迎给我提出意见。也可以加我QQ 1436051108一起讨论,如果您有什么问题,也可以直接在QQ留言发给我,我看到之后第一时间回复您
最后总结一下。送上一直思维导图,作为文章的结束