日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS开发Swift篇—(七)函数(1)

發(fā)布時間:2023/11/30 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS开发Swift篇—(七)函数(1) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、函數(shù)的定義

(1)函數(shù)的定義格式

1 func 函數(shù)名(形參列表) -> 返回值類型 { 2 // 函數(shù)體... 3 4 }

(2)形參列表的格式

形參名1: 形參類型1, 形參名2: 形參類型2, …?

(3)舉例:計算2個整數(shù)的和

1 func sum(num1: Int, num2: Int) -> Int { 2 return num1 + num2 3 }

(4)沒有返回值的函數(shù)

  如果函數(shù)沒有返回值,有3種寫法

1 func 函數(shù)名(形參列表) -> Void { 2 // 函數(shù)體... 3 } 4 5 func 函數(shù)名(形參列表) -> () { 6 // 函數(shù)體... 7 } 8 9 func 函數(shù)名(形參列表) { 10 // 函數(shù)體... 11 }

(5)沒有形參的函數(shù)

  一個函數(shù)如果沒有形參,函數(shù)名后面的小括號也不能省略

1 func 函數(shù)名() -> Int { 2 // 函數(shù)體... 3 }

  上面的函數(shù)沒有形參、返回值是Int類型

(6)返回元組的函數(shù)

一個函數(shù)也可以返回元組數(shù)據(jù)

1 func find(id: Int) -> (name: String, age: Int) { 2 if id > 0 { 3 return ("jack", 20) 4 } else { 5 return ("nobody", 0) 6 } 7 } 8 var people = find(2) 9 println("name=\(people.name), age=\(people.age)")

?

二、外部參數(shù)名

1.簡單說明

一般情況下,通過形式參數(shù)的名字,就能推斷出這個參數(shù)的含義和作用

1 func addStudent(name: String, age: Int, no: Int) { 2 println("添加學(xué)生:name=\(name),age=\(age),no=\(no)") 3 }

在函數(shù)內(nèi)部一看參數(shù)名就知道這3個參數(shù)的作用

但是,形式參數(shù)是用在函數(shù)內(nèi)部的,當(dāng)調(diào)用函數(shù)時就看不見形參的名字,有可能導(dǎo)致以后會不太明白每個參數(shù)的含義

對于addStudent("jack", 20, 19)一眼望去,能猜出第1個參數(shù)"jack"是指姓名,后面的20、19分別代表什么含義?

為了解決上述問題,Swift提供了外部參數(shù)名語法

外部參數(shù)名可以在調(diào)用函數(shù)時提醒每個參數(shù)的含義

2.定義

外部參數(shù)名的定義格式如下:

1 func 函數(shù)名(外部參數(shù)名 形式參數(shù)名: 形式參數(shù)類型) -> 返回值類型 { 2 // 函數(shù)體... 3 }

外部參數(shù)名寫在形式參數(shù)名的前面,與形式參數(shù)名之間用空格隔開

3.外部參數(shù)名的使用

1 func sum(number1 num1: Int, number2 num2: Int) -> Int 2 { 3 return num1 + num2 4 } 5 sum(number1: 10, number2: 20) // 調(diào)用函數(shù)

注意:一旦定義了外部參數(shù)名,在調(diào)用函數(shù)時就必須加上外部參數(shù)名

4.外部參數(shù)名的簡寫

使用#能簡化外部參數(shù)名的定義

1 func sum(#num1 : Int, #num2 : Int) 2 { 3 return num1 + num2 4 }

第1行代碼的意思:num1、num2既是形式參數(shù)名,又是外部參數(shù)名

// 調(diào)用函數(shù) ?sum(num1: 10, num2: 20)

?

三、默認(rèn)參數(shù)值

(1)可以在定義函數(shù)時,給形參指定一個默認(rèn)值,調(diào)用函數(shù)時,就可以不用給這個形參傳值

1 func addStudent(name: String, age: Int = 20) { 2 println("添加1個學(xué)生:name=\(name),age=\(age)") 3 }

addStudent("jack")

age參數(shù)有個默認(rèn)值20,所以第4行調(diào)用函數(shù)時可以不傳值給age參數(shù)

輸出結(jié)果是:

添加1個學(xué)生:name=jackage=20

?

(2)帶有默認(rèn)參數(shù)值的形參,Swift會自動給它生成一個跟形參名相同的外部參數(shù)名

age: Int = 20相當(dāng)于#age: Int = 20

因此,如果要傳入age參數(shù)值時,只能這么調(diào)用

addStudent("jack", age: 25)

?

(3)在帶有默認(rèn)參數(shù)值的參數(shù)名前加個下劃線 _ ,調(diào)用函數(shù)時就不用寫外部參數(shù)名

1 func addStudent(name: String, _ age: Int = 20) { 2 println("添加1個學(xué)生:name=\(name),age=\(age)") 3 } 4 5 addStudent("jack", 25)

?

四、常量和變量參數(shù)

默認(rèn)情況下,函數(shù)的參數(shù)都是常量參數(shù),不能在函數(shù)內(nèi)部修改

1 func test(num: Int) { 2 num = 10 3 } 4 5 func test(num: Int)參數(shù)相當(dāng)于func test(let num: Int)

注意:第2行代碼會報錯

在有些情況下,可能需要在函數(shù)內(nèi)部修改參數(shù)的值,這時需要定義變量參數(shù)

在參數(shù)名前面加個var即可

1 func test(var num : Int) { 2 num = 10 3 }

// 編寫函數(shù)在某個字符串的尾部拼接N個其他字符串

1 func append(var string: String, suffix: String, count: Int) -> String 2 { 3 for _ in 0..<count { 4 string += suffix 5 } 6 return string 7 } 8 append("jack", ".", 4) // 調(diào)用函數(shù) 9 // jack....

?

五、輸入輸出參數(shù)

1.什么是輸入輸出參數(shù)?

在C語言中,利用指針可以在函數(shù)內(nèi)部修改外部變量的值

在Swift中,利用輸入輸出參數(shù),也可以在函數(shù)內(nèi)部修改外部變量的值

輸入輸出參數(shù),顧名思義,能輸入一個值進來,也可以輸出一個值到外部

?

2.輸入輸出參數(shù)的定義

在參數(shù)名前面加個inout關(guān)鍵字即可

func swap(inout num1: Int, inout num2: Int) {

}

3.代碼示例:寫一個函數(shù)交換外部2個變量的值

1 func swap(inout num1: Int, inout num2: Int) { 2 let tempNum1 = num1 3 num1 = num2 4 num2 = tempNum1 5 } 6 var a = 20 7 var b = 10 8 swap(&a, &b) // 傳入的參數(shù)前面必須加上& 9 // 執(zhí)行完swap函數(shù)后,a的值是10,b的值是20

4.輸入輸出參數(shù)的使用注意

傳遞實參時,必須在實參的前面加上&

不能傳入常量或者字面量(比如10)作為參數(shù)值(因為它們都不可改)

輸入輸出參數(shù)不能有默認(rèn)值

輸入輸出參數(shù)不能是可變參數(shù)

輸入輸出參數(shù)不能再使用let、var修飾(inout和let、var不能共存)

?

輸入輸出參數(shù)的價值之一

  可以實現(xiàn)函數(shù)的多返回值(其實讓函數(shù)返回元組類型,也能實現(xiàn)返回多個值)

轉(zhuǎn)載于:https://www.cnblogs.com/zengshuilin/p/5766680.html

總結(jié)

以上是生活随笔為你收集整理的iOS开发Swift篇—(七)函数(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。