Swift 中函式使用指南

2021-09-07 08:33:56 字數 2683 閱讀 6441

關於swift中的各種函式的使用的總結

時間久了,好多東西我們就會慢慢忘記,在這裡總結一下swift中函式的使用原則,把大部分的函式使用技巧用**示例來做了演示,但是如果想提高,還是要多多思考才行

函式缺省會帶引數名,如果不想顯示引數名,可以使用下劃線_。

func createfamily(mothername: string, fathername: string, babyname: string)  -> string 

createfamily(mothername: "媽媽", fathername: "爸爸", babyname: "bao'b")

多引數函式的使用,整個函式都是可以自定義的,實現非常靈活。(也叫可變引數)

func sum(numbers: int...) -> int 

return total

}sum(numbers: 1, 2, 3, 4, 5, 6)

注意,在最新的swift中,已經不允許在引數中使用var了,可以使用下邊的這個值傳遞的方式實現

func factorial(number: int) -> int 

return res

}var number: int = 4

let b = factorial(number: number)

通過a: inout 這種方式可以在函式內修改引數的值,但是在使用中還是要加入&,目的是訪問引數的指標位址

func swap(a: inout int, b: inout int) 

var a = 10

var c = 20

swap(&a, &c)

print("a: \(a), b: \(c)")

func sayhello() -> void 

// 該函式的型別為(dictionary) -> (int, int)

func count(kids: dictionary) ->

(girls: int, boys: int)

var countfunc: (dictionary) -> (int, int) = count

let kids: dictionary= ["123" : "456"]

print(countfunc(kids))

// 這個示例是這樣的,我們根據使用者的輸入("吃""喝")來選擇不同的函式進行列印

typealias noparameterfunc = (() -> ()) // 可以為乙個型別起乙個別名

func eat() -> void

func drink() -> void

func dosomethingwithidentifier(identifier: string) -> (noparameterfunc)?

}let dosomething = dosomethingwithidentifier(identifier: "吃")

if let dosomething = dosomething

// 函式內部依然可以有函式,我們隊上邊的例子進行改造,結果一樣

func anotherdosomethingwithidentifier(identifier: string) -> (noparameterfunc)?

func drink1() -> void

switch identifier

}

在swift3.0中已經被移除,原因是使用場景不多,且使語言變得複雜,大家了解下就好了

func add(a: int, b: int, c: int) -> int 

let d = add(a: 1, b: 2, c: 3)

// swift3.0中支援的柯里化

func addcur(a: int) -> (_ b: int) -> (_ c: int) -> int

}}

func compare(l1: int, l2: int) -> bool 

let numbers = [2, 3, 6, 8, 1]

let sortednumbers = numbers.sorted(by: )

print(sortednumbers)

let sortednumbers1 = numbers.sorted(by: )

print(sortednumbers1)

let sortednumbers2 = numbers.sorted(by: )

print(sortednumbers2)

let sortednumbers3 = numbers.sorted(by: >)

print(sortednumbers3)

// 尾閉包函式

// 當函式中的引數中使用了閉包,而且閉包內部很複雜,且閉包是最後乙個引數時,才能使用尾閉包

let sortednumbers4 = numbers.sorted()

print(sortednumbers4)

基本上掌握了這些函式的使用,在開發中也就夠用了,要高階,可以多了解函式響應式程式設計。

PHP中is dir 函式使用指南

函式 is dir 功能 判斷給定檔名是否是乙個目錄 說明 www.cppcns.combool is dir string filename 如果檔名存在並且為目錄則返回 true。如果 程式設計客棧filename 是乙個相對路徑,則按照當前工作目錄檢查其相對路徑。注 本函式的結果會被快取。更多...

PHP中is file 函式使用指南

is file 函式檢查指定的檔名是否是正常的檔案。is file tells whether the filename is a regular file 用法 bool is file string filename file 為必選引數 如果檔案存在且為正常的檔案則返回 true。先來看乙個例...

php中curl使用指南

許多同學在第一次使用curl的時候感覺乙個頭兩個大 包括我在內 看著這一條條的curl setopt函式完全摸不著頭腦,不過在你花10分鐘看了我的介紹後相信你以後也能輕鬆戲耍php的curl了 首先,請看乙個curl 花10秒鐘,略看一遍,然後跳到後文 複製 如下 wtf,這到底是在做什麼?想要學會...