iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 17
0
自我挑戰組

Swift - 來吧!鐵人三十項系列 第 17

Day17:當天的鐵人當天寫 - Function(2)

  • 分享至 

  • xImage
  •  

前前言

嗨,大家好,我是 Lacie,您現在收看的是 Swift - 來吧!鐵人三十項 系列的第十七篇
在鐵人賽完結後,為保持持續做筆記的習慣
將會在我的 Medium 繼續撰寫文章,若有興趣者可前往觀看。


回傳

要回傳某個東西,必須要在:

  • -> return type 寫下要回傳的資料型態
  • body 裡必須寫 return 加上你要 return 的程式碼

直接上個範例應該會比較清楚,延續上集的 function,改成回傳:

呼叫它的結果:

當然也可以不只回傳一個,也可以回傳元組:

呼叫它的結果:


function 裡帶入 function

直接上個例子好了,一個加法、一個減法、一個印出:

呼叫與結果:

如果想要讓參數簡短一點也可以將它放入 typealias:


Overload - 帶入參數

在 Swift 中,如果變數名稱取一樣的,會被系統擋:

但在 function 是可以取一樣的 function 名稱的,例如:

名稱一樣,帶入參數的外部參數名稱或資料型態些微不同,還是可以並存:

在呼叫時,也可以同時找到這三個 function,只是有些微不同:


Overload - 回傳

回傳時,function 名稱也是可以使用一樣的,只是回傳型態需不同:

在呼叫時可以很明確看到型態:


Return 後面 bang 不見

任何被寫在 return 之後的語法,都不會被執行

例如:


其他

沒有回傳的時候,系統其實幫你隱藏的預設了回傳 -> Void
以下是一些例子,但結果都長一樣:

  • 原始

  • 測試1

  • 測試2

  • 測試3

  • 測試4


上一篇
Day16:當天的鐵人當天寫 - Function(1)
下一篇
Day18:當天的鐵人當天寫 - Optional(1)
系列文
Swift - 來吧!鐵人三十項30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言