今天給大家介紹 swift函數,swift函數和c#,js的寫法大致一直,但是與object-c寫法有很大不同點。廢話不多說,直接開始了。
1:函數 --常量參數
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留言發給我,我看到之后第一時間回復您
最后總結一下。送上一直思維導圖,作為文章的結束