swift學(xué)習(xí)語言基礎(chǔ)--函數(shù)

函數(shù)

Swift函數(shù)與c和objective-c有些不同典徘,C的函數(shù)表達(dá)式比較簡單,oc則需要本地參數(shù)和外部參數(shù)設(shè)置名稱账劲,swift的參數(shù)提供默認(rèn)值阱缓,簡化了函數(shù)調(diào)用非凌,并可以通過在輸入輸出函數(shù)在函數(shù)執(zhí)行完畢之后修改傳遞的變量。
Swift中的每個函數(shù)都有一個類型荆针,包括函數(shù)的參數(shù)類型和返回類型敞嗡。您可以方便的使用此類型像任何其他類型一樣,這使得它很容易將函數(shù)作為參數(shù)傳遞給其他函數(shù),甚至從函數(shù)中返回函數(shù)類型。函數(shù)也可以寫在其他函數(shù)中來封裝一個嵌套函數(shù)用以范圍內(nèi)有用的功能

1航背、 swift函數(shù)結(jié)構(gòu)如下:

func  函數(shù)名( 參數(shù)變量:類型 喉悴,參數(shù)變量:類型...){}
    說明: 
        1: func 是函數(shù)關(guān)鍵字
        2:{} 函數(shù)體
        3: 參數(shù)變量是默認(rèn)常量類型,不能在函數(shù)函數(shù)體里面直接修改
        即 func A (value:String)  與 func A (let value:String)寫法是相同的玖媚,即value 是常量箕肃。
例如
func  SayHello(value :String,value1:String){
  let str = value+" "+value1
    print(str)
}
SayHello("hello","swift")
運(yùn)行結(jié)果
hello swift
 

########注意
value 和value1 都默認(rèn)是常量,相加今魔,結(jié)果必定是常量勺像,所以一定要用let接著,如果用var 會報(bào)錯错森。
注意:value和value1不可再函數(shù)體里直接修改吟宦,如果是下面的寫法就會報(bào)錯:
func SayHello(value :String,value1:String){
value = "hello"
}
但是這并不是不可修改,看下面:

func 函數(shù)名( var  參數(shù)變量 : 參數(shù)類型 ) {}
    說明 
      1: func 函數(shù)關(guān)鍵字
      2: var 參數(shù)變量 :參數(shù)類型   表示參數(shù)變量是可變變量涩维,不是常量類型殃姓,可以任意修改

例如
func  SayHello(var value :String){
    value = "hello" //value  是被var 修改了,value是可變變量
   print(value)
}

SayHello("test")
輸出 hello

2、 可變參數(shù)

fun 函數(shù)名 (參數(shù)名:參數(shù)類型...){}
說明:
通過在變量類型名后面加入(...)的方式來定義可變參數(shù)
可變參數(shù)可以接受零個或多個值辰狡,可變參數(shù)的傳入值在函數(shù)體中變?yōu)榇祟愋偷囊粋€數(shù)組

func arithmeticMean(numbers: Double...) -> Double {
    var total: Double = 0
    for number in numbers {
        total += number
    }
    return total / Double(numbers.count)
}

3锋叨、外部參數(shù)名

func  函數(shù)名 ( 外部參數(shù)名  參數(shù)變量名:類型 垄分,外部參數(shù)名  參數(shù)變量名:類型)
  說明:
     1:外部參數(shù)名 + 局部參數(shù)變量名 : 類型 宛篇,構(gòu)成一個參數(shù)
     調(diào)用方法
      函數(shù)名(外部參數(shù)名 :傳入值,外部參數(shù)名:傳入值)

func sayHello(to person: String, and anotherPerson: String) -> String {
    return "Hello \(person) and \(anotherPerson)!"
}
print(sayHello(to: "Bill", and: "Ted"))
// prints "Hello Bill and Ted!"

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末薄湿,一起剝皮案震驚了整個濱河市叫倍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌豺瘤,老刑警劉巖吆倦,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異坐求,居然都是意外死亡蚕泽,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門桥嗤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來须妻,“玉大人,你說我怎么就攤上這事泛领』睦簦” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵渊鞋,是天一觀的道長绰更。 經(jīng)常有香客問我,道長锡宋,這世上最難降的妖魔是什么儡湾? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮执俩,結(jié)果婚禮上盒粮,老公的妹妹穿的比我還像新娘。我一直安慰自己奠滑,他們只是感情好丹皱,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宋税,像睡著了一般摊崭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上杰赛,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天呢簸,我揣著相機(jī)與錄音,去河邊找鬼。 笑死根时,一個胖子當(dāng)著我的面吹牛瘦赫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蛤迎,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼确虱,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了替裆?” 一聲冷哼從身側(cè)響起校辩,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎辆童,沒想到半個月后宜咒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡把鉴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年故黑,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片庭砍。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡场晶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出逗威,到底是詐尸還是另有隱情峰搪,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布凯旭,位于F島的核電站概耻,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏罐呼。R本人自食惡果不足惜鞠柄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嫉柴。 院中可真熱鬧厌杜,春花似錦、人聲如沸计螺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽登馒。三九已至匙握,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間陈轿,已是汗流浹背圈纺。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工秦忿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蛾娶。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓灯谣,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蛔琅。 傳聞我的和親對象是個殘疾皇子胎许,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容