• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Swift笔记3

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

// 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  

        语句组

    }

*/

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Welcome-to-Swift-06函数(Functions)发布时间:2022-07-14
下一篇:
[Swift]LeetCode152.乘积最大子序列|MaximumProductSubarray发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap