第2部分 故事的高階要素 - 程式語言swift的高階部分
6 函式
6.1 概念通俗講解
函式主要目的是把一段**塊封裝起來。然後為函式取乙個函式名,想執行這段**時,呼叫這個函式名即可。
6.2 定義簡潔介紹以及經驗總結
1). 定義的格式
func 函式名
舉例,定義函式checkage。
func
checkage()
把下面的**封裝起來
if age >
1else
if age >
5else
if age >
10
封裝好後結果為
var age =
10func
checkage()
else
if age >
5else
if age >
10}
使用時,呼叫checkage函式的形式如下
checkage
()
2). 函式新增返回值
舉例:
var age =
10func
checkage()
->
intelse
if age >
5else
if age >
10return age
}
func checkage() -> int 中的-> int是規定函式的返回值型別,常見的有int,bool,float等,函式內部的return age代表的是返回int型別具體的數值
如果規定了函式的返回型別,函式內部一定要return相對應型別的具體值。
對於上面的例子,呼叫checkage函式,可以把返回的值給變數age2,**如下
var age2 =
checkage
()
對於最開始定義的函式
func
checkage()
其實它是有返回值的,不過它的返回值是void型別(空型別),對於void型別,返回值部分的**是可以省略掉。
func
checkage()
完整的寫法如下
func
checkage()
->
void
3). 函式新增引數
對於上面的例子,我們可以給checkage函式新增乙個引數,可以讓引數來改變age的值
var age =
10func
checkage
(agechange:
int)
->
intelse
if age >
5else
if age >
10return age
}
呼叫checkage函式,可以把返回的值給變數age2
var age2 =
checkage
(agechange:
3)
agechange: int就是函式的引數,agechange是形參(形式引數),函式定義時使用。int是實參(實際引數),呼叫函式時使用。引數的型別有很多,常見的有int,bool,float。4) 函式引數的值在函式裡是不能直接修改的,如果想修改的話,需要用inout關鍵字
func
change
(number1:
inout
int, number2:
inout
int)
var num1 =
1var num2 =
2
呼叫change函式時,對應inout關鍵字,這裡使用了符號&
change
(number1:
&num1, number2:
&num2)
呼叫change函式後,num1的值變為了2,num2的值變為了1
5) 省略函式的外部引數名的方法
swift函式的引數名其實是有2個的,乙個是外部的,乙個是內部的。平時之所以寫乙個,是因為swift預設把外部和內部的引數名同指為1個了。
當呼叫函式不想寫形參時,可以用如下的方法
舉例
var age =
10func
checkage
(_ agechange:
int)
->
int
呼叫函式時不用寫形參了,很簡潔。
checkage(20
)
18 swift開發iOS 結構體
swift 結構體 swift 結構體是構建 所用的一種通用且靈活的構造體。我們可以為結構體定義屬性 常量 變數 和新增方法,從而擴充套件結構體的功能。與 c 和 objective c 不同的是 結構體不需要包含實現檔案和介面。結構體允許我們建立乙個單一檔案,且系統會自動生成面向其它 的外部介面。...
iOS開發 Swift 總結13 if 控制流
第2部分 故事的高階要素 程式語言swift的高階部分 1 if 控制流 1.1 概念通俗講解 if控制流通俗來講就是判斷條件為真時,執行一段 1.2 定義簡潔介紹 1 if 語句 if 判斷條件舉例,有乙個變數age,如果age大於5時,我們讓age等於5,如下。var age 10if age ...
ios開發Objective C可變引數函式
首先作為乙個coder 很多時候會遇到自己不能解決的問題需要上網查資料,而且不知道我自己水平沒能理解 還是演示demo就有問題,或者大家都沒發現的乙個問題。這裡重新按照自己的理解重新寫乙個使用oc可變引數函式的方法。本人能力有限,如果遇到錯誤或 問題,麻煩大家指出 nsarray actionuse...