函式 function
var str = "hello, playground"
// 定義函式 func 關鍵字
func printstr ()
// 呼叫函式,函式名+()
有引數有返回值的函式
// 傳入乙個字串,返回字串的字元的個數
// 函式的宣告 + (引數名:引數型別)->(返回值型別)
// str 即是外部引數,也是內部引數
多參函式
// 求和函式
利用元組實現多返回值
可選型別作為引數或者返回值
func maxandmin(a :int? ,b:int?)->(max:int,min:int)?// 如果輸入的值為空,則不進行比較,直接返回
return nil
}// 返回值也有可能為空,進行只繫結,如果返回值不為空,就將返回值強制解包,並執行下面括號中的**,如果為空就直接執行 else 中的**
引數標籤
// 引數標籤 是放在引數名前面的另乙個引數名作為引數標籤,這個標籤相當於外部引數名
func printname2(yourname name: string)
printname2(yourname: "zhangsan")
// 不制定引數標籤的時候,引數名就預設為引數標籤
func printname1(name: string)
printname1(name: "lisi")
//// 引數名前面加_來忽略外部引數名,即:忽略引數標籤
func printname3(_ name: string)
printname3("lisi")
新特性,預設引數值
func sayhello(name: string = "wangxiao")
// 傳入值的時候,就列印傳入的值
sayhello(name:"ceshi")
//什麼都不傳的時候,列印預設值
sayhello()
//:## 可變引數
// 是指引數的個數不確定可能是多個引數
// 比如求任意幾個數的和
func sum(_ numbers:int...)->int
return
sum}
sum(1,3,3,5,7)
print(sum(2,4,6))
輸入輸出引數 關鍵字 inout
//:## 引數值修改
var a = 23
func changenumber(a:int)
changenumber(a: a )
print(a)
// 比如交換兩個變數的值
var numbera = 10
var numberb = 20
func swapnumber(a:inout int,b:inout int)
swapnumber(a: &numbera, b: &numberb)
print("numbera = \(numbera),numberb = \(numberb)" )
函式型別
// 可以將函式當做一種資料型別,或者當做變數
//第乙個函式
func sum3(a :int, b:int)->int
//第二個函式
func minus3(a :int, b:int)->int
// 這兩個函式有個共同特點,引數都是兩個 int 型別引數,返回值也是 int,所以可以定義乙個變數代表這個函式型別
var hanshustyle : (int,int)-> int
// 這時候, 就可以將這種型別的函式,賦值給這個變數了
hanshustyle = sum
hanshustyle(5,5)
// 函式型別的變數作為引數
func style(a : int,b:int,operation: (int,int)-> int )->int
style(a: 33, b: 33, operation: sum3)
style(a: 33, b: 33, operation: minus3 )
// 函式型別作為返回值
func getoperation(key:string)->
((int,int)->int)
}//這個時候,函式返回的就是乙個加法的函式型別, f 就相當於乙個加法的函式
varf = getoperation
(key: "+")
f(25,23)
Swift學習筆記之函式
func testfunc 關於 swift 中的函式 1 函式定義,單個引數,返回值 func sayhi name string string 2 傳入多個引數,返回值 func sayhi2 name string age int string 3 無引數,無返回值 func sayhi3 4...
iOS開發 Swift 總結18 函式
第2部分 故事的高階要素 程式語言swift的高階部分 6 函式 6.1 概念通俗講解 函式主要目的是把一段 塊封裝起來。然後為函式取乙個函式名,想執行這段 時,呼叫這個函式名即可。6.2 定義簡潔介紹以及經驗總結 1 定義的格式 func 函式名舉例,定義函式checkage。func check...
python學習筆記 18 匿名函式
在python中,對匿名函式提供了有限支援。還是以map 函式為例,計算f x x2時,除了定義乙個f x 的函式外,還可以直接傳入匿名函式 list map lambda x x x,1,2,3,4,5,6,7,8,9 1,4,9,16,25,36,49,64,81 通過對比可以看出,匿名函式la...