1.函數(shù)
==代碼段上的可執(zhí)行指令序列==
typedef enum{
全局函數(shù),
成員函數(shù)
}函數(shù)
2.方法
==是類型的成員函數(shù)==
可以用來定義
- class
- struct
- enum
typedef enum{
實例方法,
類型方法(靜態(tài)方法)
}方法
3.類型方法
其中:類型方法的格式:
static func{
...
}
==類型方法不可以訪問實例屬性和實例方法==
4.方法參數(shù)
4.1.func 默認格式
func(參數(shù)1,參數(shù)2...)[->返回值]{}
4.2.參數(shù)的完整形式:
[外部名] 內(nèi)部名:數(shù)據(jù)類型
==第一個參數(shù)名可以省略==
==參數(shù)定義時格式:_ data, 可以忽略參數(shù)名==
4.3.提供默認值的參數(shù)
func(參數(shù)名:參數(shù)類型 = 默認值){}
4.4.常量參數(shù)和變量參數(shù)
- 常量參數(shù):
func add(data1:Int,data2:Int)->Int{
return data1+data2
}
- 變量參數(shù)
func add( var data1:Int,var data2:Int)->Int{
data1 += 1
data2 += 1
return data1+data2
}
4.5.可變數(shù)目參數(shù)(實質(zhì)是是個數(shù)組)
func add(data:Int...)->Int{
var sum = 0
for item in data {
sum += item
}
return sum
}
var y = add(11,12,13)
4.6.Inout 參數(shù)
==可以改變外部實參數(shù)==
func add(inout data:Int)->Int{
...
}
var data
myObject.add(&data)
==注意:是inout,如果寫成Inout,就是外部參數(shù)名了==
4.7.多個返回值(Tuple 元組 )
func(參數(shù)1,參數(shù)2...)[->(返回值1,返回值2)]{}
==元組:可以理解為沒有名字的屬性名==
let r = xxxxx
print("\(r.返回1),\(r.返回2)")