iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0
Mobile Development

我將點燃Swiftの大海系列 第 7

Day7. Swift一定要會の基礎語法

  • 分享至 

  • xImage
  •  

function

在大多數物件導向的程式語言中,有一種最常用的語法就是function啦!
在 Swift 裡的函式語法跟其他語言很像,接下來我們先從格式開始看起!

func 函式名稱(參數名: 型別) -> 回傳型別 {
    // 執行的程式內容
    return 回傳的資料
}

func 是定義function時會用到的關鍵字
我們可以自行決定是否帶入參數,也可以選擇回傳一個值或不回傳

使用方式

接下來會用例子來舉例簡單的function用法

func fruitPrice() -> String{
    var apple = 10
    var grape = 20
    
    if apple > grape{
        return "蘋果比較貴"
    }else{
        return "葡萄比較貴"
    }
}

let result = fruitPrice()
print(result)  // ➜ 輸出:葡萄比較貴

就像範例使用的一樣我可以自由的選擇設定的回傳型別,並透過設定變數來取得回傳值
最後print出來
在範例中用到了前天我們介紹的if-else語法,昨天介紹的for, while迴圈也能應用在function哦

巢狀function

接下來我們來介紹所謂的巢狀function
有寫過程式的大家相信都已經想到了拔!
沒錯!就是在function裡面再包一個function
先來看看格式吧!

func outFunc() {    //外圈func
    // 執行的程式內容
    return 回傳的資料

    func inFunc() {    //內圈func
        // 執行的程式內容
        return 回傳的資料
    }
    inFunc()  // 呼叫內層函式
}

使用方式

巢狀function就是在一個function內部再定義另一個function
內層的function只能在它的外部函式中被呼叫
這樣可以讓功能更封裝、更有條理,也有助於程式邏輯的維護與安全性。
既然大家都了解了那我們先來看個例子吧!

func checkFruitPrice(apple: Int, grape: Int) -> String {

    func compare() -> String {
        
        if apple > grape {
            return "蘋果比較貴"
        } else if apple < grape {
            return "葡萄比較貴"
        } else {
            return "兩者一樣貴"
        }
    }

    return compare()
}

let result = checkFruitPrice(apple: 15, grape: 20)
print(result)  // ➜ 輸出:葡萄比較貴

我們用今天教的funtion作為例子使用巢狀的方式的去判斷水果的價格
今天先簡單的介紹到這邊,明天我們介紹閉包closure!


上一篇
Day6. Swift一定要會の基礎語法
下一篇
Day8. Swift一定要會の基礎語法
系列文
我將點燃Swiftの大海8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言