swift入門篇-函數

來源:互聯網
上載者:User

 

今天給大家介紹 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留言發給我,我看到之後第一時間回複您

  最後總結一下。送上一直思維導圖,作為文章的結束

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.