ios入門9 函式

2021-10-06 22:11:09 字數 3025 閱讀 3881

1.函式定義,多個形參用逗號隔開

c++一致

函式預設返回的是let型

func funcname(形參)->returntype

import cocoa

//有參

func runnoob(site:string)->string

//無參 func runnoob()->string

//輸出為 www.baidu.com

2.元組為返回值

import cocoa

func minmax(array:[int])->(min:int,max:int)?

}return (currenmin,currenmax)

}let bounds=minmax(array:[8,-6,2,109,3,71])

print("\(bounds.min) \(bounds.max)")

(int,int)?與(int?,int?)不同,前者是返回的元組可能為nil(當傳入的整個陣列為空的時候,試圖訪問array[0],為處理這個空陣列問題),後乙個是元組種每乙個元數值可能為nil,即為可選的

3.沒有返回值

func runoob(site:string)

runnoob(site:"world")

4.外部引數名

外部引數名與內部引數名空格隔開,之前使用時傳入資料用的內部引數

如果使用了外部引數名,那麼在呼叫的時候必須使用外部引數名

//之前

import cocoa

func sample(number:int)

sample(number:1)

//之後

func sample(outnumber number:int)

sample(outnumber:1)

5.隱藏函式引數名

func sample(_ number:int)

sample(10)

6.修改形參的值

func sum(number:inout int)

var num:int=5

sum(number:&num)

7.可變引數

函式引數數量不確定,可變引數通過變數型別名後面加入(…)方式來定義

}sum(10,20,30,40)8.預設引數

func sayhi(name1:string="alen",name2:string="levi")->string
9.使用函式型別

var addition:(int,int)->int=sum

解析:定義乙個叫addition的變數,引數與返回值型別均為int,並讓這個新變數指向sum函式

import cocoa

func sum(a:int,b:int)->int

var addition:(int,int)->int=sum

print("\(addition(40,89))")//129

運用1:函式型別作為函式引數

func sum(v1:int,v2:int)->int

func dif(v1:int,v2:int)->int

func printresult(_ mathfun:(int,int)->int,_ a:int,_ b:int)

printresult(sum,5,2)//result:7

printresult(dif,5,2)//result:3

運用2:函式型別作為函式返回值

func next(_ input:int)->int

func previous(_ input:int)->int

func forward(_ forward:bool)->(int)->int

forward(true)(3)//4

forward(false)(3)//2

10.巢狀函式

巢狀在最內部的函式可以使用外層函式的內部引數

運用1

import cocoa

func cal(out_t total: int) -> () -> int

return decrementer

}let decrem = cal(out_t: 30)

print(decrem())//-30

運用2

func forward(_ forward:bool)->(int)->int

func previous(_ input:int)->int

return forward?next:previous

}forward(true)(3)//4

forward(false)(3)//2

《iOS 9應用開發入門經典(第7版)》 導讀

目 錄 前 言 第1章 為開發準備好系統和ios裝置 第1章第1節歡迎進入ios平台 第1章第2節成為ios開發人員 第1章第3節執行ios應用 第1章第4節開發技術概述 第1章第5節進一步探索 第1章第6節小結 第1章第7節問與答 第1章第8節作業 第2章 xcode和ios模擬器簡介 第2章第1...

Oracle入門必會(9)

162.如何知道表在表空間中的儲存情況?select segment name,sum bytes count ext quan from dba extents where tablespace name tablespace name and segment type table group b...

PHP 入門 9 安全

sql 注入 轉義輸出檔名 會話固定 檔案上傳 php 關於過濾的最佳實踐 對於任何使用者輸入的資訊,都要進行轉義 過濾。sql 注入是將惡意的 sql 查詢或新增語句插入到應用的輸出引數中,在由資料庫伺服器解析執行,從而達到攻擊目的。sql 注入很像 xss 用realpath 和basename...