今天給大家介紹 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=10value=AA
三:函數 --可變參數
func 函數名(參數名 類型...){} 說明 : 參數名 類型... 說明 該參數可以接觸N個參數。
例子
func SayHello(values :Double...){ for temp in values{ println("temp=\(temp)") } }SayHello(1.1,1.2,1.3)運行結果temp=1.1temp=1.2temp=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 = 10var fun:(Int)->Int = SayHello(num > 5);num = fun(num)println("num=\(num)")運行結果num=11
後面的文章,我回陸續把我學習到swift語言的知識寫出來形成一個系列。由於是新語言,難免有不足,歡迎給我提出意見。也可以加我QQ 1436051108一起討論,如果您有什麼問題,也可以直接在QQ留言發給我,我看到之後第一時間回複您
最後總結一下。送上一直思維導圖,作為文章的結束