一:聲明函數(shù),調(diào)用函數(shù):
使用func 來聲明一個函數(shù),使用名字和參數(shù)來調(diào)用函數(shù),使用->來制定函數(shù)返回值。形式:func函數(shù)名(參數(shù)1:類型,參數(shù)2:類型,...)->返回結果類型{執(zhí)行語句}。調(diào)用函數(shù)的方式:var變量名稱=函數(shù)名(變量1,變量2,...)
1.普通常用的形式??(這里用中文舉例):

2.無參數(shù)無返回值,一般用于執(zhí)行一系列??:

3.不定參數(shù),在參數(shù)類型后面加...??:

4.函數(shù)類型:包含參數(shù)和返回類型的簡寫形式,例:(Int,Int)->Int??:

5.函數(shù)可以嵌套。被嵌套的函數(shù)可以反問外側函數(shù)的變量,你可以使用嵌套函數(shù)來重構一個太長或者太復雜的函數(shù)??:

6.函數(shù)可以作為返回值,函數(shù)是第一等類型,這意味著函數(shù)可以作為另一個函數(shù)的返回值。??:

7.函數(shù)也可以作為參數(shù)傳入另一個函數(shù),??:

二:閉包
1.函數(shù)實際上是一種特殊的閉包,你可以使用{}來創(chuàng)建一個匿名閉包。使用in將參數(shù)和返回值類型聲明與閉包函數(shù)體進行分離:

2.有很多種創(chuàng)建閉包的方法。如果一個閉包的類型一致,比如作為一個回調(diào)函數(shù),你可以忽略參數(shù)的類型和返回值。單個語句閉包會把它語句的值當做結果返回,??:

3.sort函數(shù)用于對數(shù)組排序,只接受一個參數(shù),此參數(shù)描述兩個元素先后的邏輯,??:

4.額外添加一條:可使用快捷參數(shù),前綴$ +數(shù)字,從0開始遞增,??:
