本節書摘來自異步社群《swift 權威指南》一書中的第6章,第6.2節傳回多值的函數,作者 李甯,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
6.2 傳回多值的函數
不管是數學上的定義,還是各種語言中的實作,函數都隻能傳回一個值,如果非要傳回多個值,就傳回一個對象,然後将要傳回的值以字段、屬性或方法形式展現,但這也是傳回一個值。不過在swift函數中,卻徹底颠覆了我們對函數的印象。swift函數是真真正正地可以傳回多個值。
可能有的讀者會想到,在前面學習資料類型時,有一個元組類型,這個類型可以同時表示多個值,難道函數傳回的是這個類型的值?沒錯,swift函數就是通過元組類型實作傳回多個值的功能的。
其實函數傳回元組類型和傳回其他類型在寫法上沒什麼差別,隻是“→”後面需要用圓括号定義元組類型,定義方式如下。
下面是一個典型的傳回元組類型的例子。在這個例子中,統計了一個字元串中有多少個元音字母,有多少個輔音字母,有多少個其他字元。很明顯,這需要通過元組傳回3個值。函數的實作調用代碼如下。