麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

ASwiftTour(3)-FunctionsandClosures

2019-11-14 20:25:35
字體:
供稿:網(wǎng)友

Functions and Closures

使用func來聲明函數(shù),通過括號(hào)參數(shù)列表的方式來調(diào)用函數(shù),用 --> 來分割函數(shù)的返回類型,參數(shù)名和類型,例如:

func greet(name: String, day: String) -> String {        return "Hello /(name), today is /(day)."    }greet("Bob",  day: "Tuesday")  //這是swift文檔中的調(diào)用方法,但是我在xcode6中編寫的時(shí)候總報(bào)錯(cuò),所以采用了下面的方式greet("Bob",  day: "Tuesday") //使用這種方式不會(huì)錯(cuò)誤

使用一個(gè)元組一個(gè)函數(shù)可以返回多個(gè)值

func getGasprices() -> (Double,Double,Double)    {        return (3.97,3.59,3.79)    }getGasPRices()

上面的方法我不知道用什么來接收返回的值,請(qǐng)高手支招

func 的參數(shù)也是可變的,可以把多個(gè)參數(shù)放在一個(gè)數(shù)組中

func sumOf(sumbers:Int...) -> Int    {        var sum = 0        for number in sumbers        {            sum += number        }        return sum    }println(sumOf())    //return 0println(sumOf(42, 597, 12))   //return 651

函數(shù)可以嵌套,嵌套的函數(shù)可以訪問在外部函數(shù)中聲明的變量,你可以使用嵌套函數(shù)來解決復(fù)雜的邏輯:

    func returnFifteen() -> Int    {        var y = 10        func add()        {            y += 5        }        add()        return y;    }        println(returnFifteen()) //return 15

函數(shù)是一個(gè) first-class 類型,這意味著函數(shù)的返回值可以是另一個(gè)函數(shù):

func makeIncrementer() -> (Int -> Int) {        func addOne(number: Int) -> Int {            return 1 + number        }        return addOne    }var increment = makeIncrementer()increment(7)//上面的代碼一直報(bào)錯(cuò),不知道什么原因//錯(cuò)誤:Command /applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift failed with exit code 254//如果哪位高手知道,請(qǐng)指教

一個(gè)函數(shù)可以作為另一個(gè)函數(shù)作為其參數(shù)

func hasAnyMatches(list: Int[],condition: Int-> Bool) -> Bool    {        for item in list        {            if(condition(item))            {                return true            }        }        return false    }        func lessThanTen(number: Int) -> Bool    {        return number < 10;    }        var numbers = [20,19,7,12]        let temp = hasAnyMatches(numbers, lessThanTen)        println(temp)//這個(gè)和上面一樣的錯(cuò),也有事我的xcode6 有問題

你可以通過{}來些一個(gè)閉包

numbers.map({    (number: Int) -> Int in    let result = 3 * number    return result    })

這個(gè)閉包有的時(shí)候可以寫的更加簡(jiǎn)潔,比如你知道他的返回類型或者其他的

numbers.map({ number in 3 * number })
sort([1, 5, 3, 12, 2]) { $0 > $1 }

上面的閉包 沒搞明白。。。

 


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 91 在线视频观看 | 91a在线观看| 天天看天天摸天天操 | 免费毛片在线 | 久久久久久久网站 | 国产精品欧美日韩一区二区 | 一本一道久久久a久久久精品91 | 视频一区二区三区在线播放 | 91午夜少妇三级全黄 | 九九视频在线观看6 | 免费黄色欧美视频 | 美女性感毛片 | 国产女厕一区二区三区在线视 | 国产一级免费片 | 久久露脸国语精品国产91 | 成人一级毛片 | 久久精品视频一区二区 | 久色伊人 | 草操影院| 99热1| 欧美不卡 | 97视频 | 亚洲aⅴ免费在线观看 | www.99热精品| 欧美精品一区二区三区在线 | 精品一区二区久久久久久按摩 | 伦一区二区三区中文字幕v亚洲 | 日韩欧美视频一区二区三区 | 国内精品久久久久久久星辰影视 | 一级国产精品一级国产精品片 | 色99久久 | 精品国产一区二区三区四区在线 | 欧美成人小视频 | 热re91久久精品国产99热 | 日韩视频一区二区三区在线观看 | 毛片在线免费观看完整版 | 久国产| 亚洲成a人在线 | 宅男噜噜噜66国产在线观看 | 精品久久久久久久久久久αⅴ | 精品在线观看一区 |