swift 學習筆記 18 函式

2021-07-24 14:42:14 字數 3203 閱讀 4671

函式 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...