Swift 函數(shù)(func)

在本文中,您將通過示例學(xué)習(xí)Swift中有關(guān)函數(shù),什么是函數(shù),語法,類型的所有知識。

什么是函數(shù)?

函數(shù)是一組定義要執(zhí)行的動作的語句。函數(shù)的主要用途是使代碼可重復(fù)使用。

從技術(shù)上講,您可以將函數(shù)視為機器。機器執(zhí)行特定任務(wù),要求輸入,處理輸入并返回輸出。

函數(shù)類型

取決于函數(shù)是預(yù)定義的還是由程序員創(chuàng)建的;函數(shù)有兩種類型:

  1. 庫函數(shù) - 在Swift Framework 中已經(jīng)定義的函數(shù)。

  2. 用戶定義的函數(shù) - 程序員自己創(chuàng)建的函數(shù)。

庫函數(shù)

庫函數(shù)是已在Swift框架中定義的內(nèi)置函數(shù)。提供這些函數(shù)是為了解決Swift中的常見問題,因此您不必自己解決它們。它們是簡單的操作,例如打印,查找最小值和最大值等。

您可以通過調(diào)用庫函數(shù)來直接使用它。如果你需要,你可以看到 Swift 框架內(nèi)的所有函數(shù)。只要寫 import Swift,按Cmd,點擊它。您將導(dǎo)航到一個新頁面。搜索所有以func關(guān)鍵字開頭的語句。

示例1:庫或內(nèi)置函數(shù)

print("Hello, World!")

當(dāng)您運行上述程序時,輸出將是:

Hello, World!

在上面的程序中,我們調(diào)用了Swift框架中定義的內(nèi)置函數(shù) print 。該函數(shù)用于在控制臺中打印輸出。

我們能夠調(diào)用print()函數(shù),因為Swift框架會自動導(dǎo)入到我們的Playground中。否則,我們應(yīng)該自己通過使用 import Swift 導(dǎo)入它。

用戶定義的函數(shù)

Swift還允許您定義自己的函數(shù)。創(chuàng)建自己的函數(shù)有助于編寫代碼來解決問題或執(zhí)行Swift Framework中不存在的功能。您還可以在將來重復(fù)使用您的函數(shù)來執(zhí)行類似的任務(wù)。

同樣,也可以根據(jù)參數(shù)和return語句對函數(shù)進行分類。請參考文章Swift函數(shù)參數(shù)類型和返回類型。

定義函數(shù)

func function_name(args...) -> ReturnType {
    //語句
    return value
}

讓我們簡要說明函數(shù)的組成部分:

  • func  是創(chuàng)建函數(shù)必須編寫的關(guān)鍵字

  • function_name  是函數(shù)的名稱。您可以給它任何定義函數(shù)功能的名稱。

  • args…  定義函數(shù)接受的輸入。

  • ->  該運算符用于指示函數(shù)的返回類型。

  • ReturnType 定義可以從函數(shù)返回的值的類型。例如Int,String等等

  • return 關(guān)鍵字用于將程序的控制權(quán)轉(zhuǎn)移到函數(shù)調(diào)用,并從函數(shù)返回值。
    即使您未指定 return 關(guān)鍵字,該函數(shù)也會在執(zhí)行最后一條語句后自動返回。

  • value 表示從函數(shù)返回的實際數(shù)據(jù)。值類型必須與 ReturnType 匹配。

函數(shù)如何工作?

函數(shù)如何在Swift中工作?

在上圖中,語句function_name(args)使用參數(shù)值args調(diào)用/調(diào)用該函數(shù),然后離開代碼的當(dāng)前部分(即停止執(zhí)行其下面的語句)并開始執(zhí)行該函數(shù)內(nèi)部的第一行。

  1. 該程序第一行代碼,func function_name(Args...) ,并接受在函數(shù)調(diào)用function_name(args)期間傳遞的值args。

  2. 然后程序執(zhí)行函數(shù)內(nèi)部定義的 statementsInsideFunction 語句。

  3. 函數(shù)內(nèi)部的語句按從上到下的順序,逐個執(zhí)行。

  4. 執(zhí)行完最后一條語句后,程序離開函數(shù),返回到它從Function_Name(Args)開始的地方。

  5. let val = 將函數(shù)返回的值存儲為一個常量 val。 同樣,您可以將變量存儲為var val =。

  6. 之后,將執(zhí)行 statementsOutsideFunction 語句。

示例2:如何在Swift中定義函數(shù)?

func greet(user:String) {
    print("Good Morning! \(user)")
}

上面顯示的是一個函數(shù)定義,其中包含以下組成部分:

  1. 關(guān)鍵字 func 標(biāo)記函數(shù)頭的開始。

  2. greet 是用于在程序中唯一標(biāo)識和調(diào)用函數(shù)的函數(shù)名稱。

  3. (user:String)標(biāo)記函數(shù)頭的結(jié)尾并接受 String 類型的參數(shù)。請參考文章Swift函數(shù)的參數(shù)類型和返回類型,它們定義了帶有參數(shù)的函數(shù)。

  4. 該函數(shù)由主體內(nèi)的一條print語句組成,該語句在您調(diào)用函數(shù)之后執(zhí)行。

調(diào)用函數(shù)

一旦創(chuàng)建了一個函數(shù),就可以在程序中調(diào)用它來執(zhí)行函數(shù)中聲明的語句。要調(diào)用一個函數(shù),你只需要寫一個函數(shù)名后面跟著() ,然后把輸入?yún)?shù)傳遞給它:

greet(user: "Isac")

示例3:在Swift中調(diào)用函數(shù)

func greet(user:String) {
    print("Good Morning! \(user)")
}

greet(user: "Isac")

當(dāng)您運行上述程序時,輸出將是:

Good Morning! Isac

在上面的代碼中,調(diào)用自定義函數(shù) greet(user: "Isac") 并傳遞字符串類型的值 Isact。之后,print執(zhí)行函數(shù)內(nèi)部的語句。

return 語句

return 關(guān)鍵字告訴程序退出函數(shù)并返回到進行函數(shù)調(diào)用的行。

您也可以使用 return 關(guān)鍵字傳遞值,其中 value 是變量或從函數(shù)返回的其他信息。

示例3:帶有return關(guān)鍵字的函數(shù)

func greet(user:String)-> String {
    return "Good Morning! \(user)"
}

let greeting = greet(user: "Isac")
print("""
     您有一條新消息
     \(greeting)
     """)

當(dāng)您運行上述程序時,輸出將是:

您有一條新消息
Good Morning! Isac

在上面的代碼中,調(diào)用自定義函數(shù) greet(user: "Isac") 并傳遞字符串類型的值 Isact。return "Good Morning! \(user)" 語句返回String類型的值,并將程序轉(zhuǎn)移到函數(shù)調(diào)用中。

let greeting = 存儲從函數(shù)返回的值。 函數(shù)返回后,將執(zhí)行函數(shù)調(diào)用下方的print語句。

函數(shù)使用注意事項

  • 指定反映函數(shù)用途的函數(shù)名稱。

  • 一個函數(shù)只能完成一項任務(wù)。如果一個函數(shù)執(zhí)行多項任務(wù),請將其分解為多個函數(shù)。

  • 試著在一個函數(shù)中盡早地思考和組織語句,使代碼可重用和模塊化。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清