Swift筆記3

來源:互聯網
上載者:User

標籤:

// Playground - noun: a place where people can play

 

import Cocoa

 

var str = "Hello, playground"

 

var dic:Dictionary<Int,String>=[1:"Name",2:"Age"]

for (id,name) in dic{

    println("id:\(id) name:\(name)")

}

 

// 泛型

//func isEquals<T>(a: T,b: T)->Bool{

//    if(a == b ){

//    return true

//    }

//    return false

//}

//var resultIsEquals = isEquals(1, 1)

//println(resultIsEquals)

 

// 將函數作為傳回型別

func calculate(por:String)->(Int,Int)->Int{

    

    func add(a:Int,b:Int)->Int{

       return a + b

    }

    func sub(a:Int,b:Int)->Int{

        return a-b

    }

    var result:(Int,Int)->Int

    

    switch (por){

        case "+":

        result = add

        case "-":

        result = sub

    default:

        result=add

    }

    return result

}

 

// 閉包改造

func calulateFunc(pro:String)->(Int,Int)->Int{

    

    var result:(Int,Int)->Int

    switch (pro){

    case "+" :

        result = {(a:Int,b:Int)->Int in

            return  a + b

        }

        // 簡寫 方法

        result = { a, b in return a + b}

        // 簡化 參數名稱 $0 表示第一個參數,$1表示第二個參數,以此類推

        result={$0 + $1}

        

        

    default :

        result = {(a:Int,b:Int)->Int in

            return a - b

        }

    }

    return result

}

 

 

// 調用方法

var f1=calulateFunc("+")

println("jin \(f1(10,6))")

 

/*

// 閉包函數 類似於 C# Lambda運算式

// 閉包函數 定義:字包含的匿名函數代碼塊,可以作為運算式、函數參數、函數傳回值,閉包運算式 的運算結果 是一種函數類型

    {(參數列表)-> 傳回型別 in  

        語句組

    }

*/

 

Swift筆記3

相關文章

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.