Swift學習筆記(二十九) 函式的使用1

2021-07-05 08:04:21 字數 1770 閱讀 5986

(1)引數型別為可選型optional.  如果引數為空,則輸出??後面的字串,否則輸出可選型的引數值。

import foundation

func sayhello(name:string?)->string

var nickname:string?

nickname = "jack"

println(sayhello(nickname))

(2)函式如果沒有返回值,可以在後面加上->void。

(3)使用元祖讓函式返回多個值。

import foundation

let userscores = [12,90,45,3,213,45]

func maxminscores(scores:[int]) -> (maxscores:int,minscores:int)

return (curmax,curmin) }

let result = maxminscores(userscores)

println("最大值:\(result.maxscores)" )

println("最小值:\(result.minscores)" )

或者:

import foundation

let userscores = [12,90,45,3,213,45]

func maxminscores(scores:[int]) -> (int,int)

return (curmax,curmin) }

let result = maxminscores(userscores)

println("最大值:\(result.0)" )

println("最小值:\(result.1)" )

上述例子如果返回值為空,則需要進行如下的優化:

import foundation

let userscores = [12,90,45,3,213,45]

func maxminscores(scores:[int]) -> (maxscore:int , minscore:int)?

var curmax = scores[0]

var curmin = scores[0]

for score in scores[1 ..< scores.count]

return (curmax,curmin) }

//返回的是乙個可選型;

if let result = maxminscores(userscores)

如果傳入的陣列引數為空,再次進行優化:

import foundation

var userscores:[int]? = [1,2,3,4,5,6]

func maxminscores(scores:[int]) -> (maxscore:int , minscore:int)?

var curmax = scores[0]

var curmin = scores[0]

for score in scores[1 ..< scores.count]

return (curmax,curmin) }

//返回的是乙個可選型;

userscores = userscores ??

if let result = maxminscores(userscores!)

C 學習筆記(二十九 ) 之string容器

老規矩 妹妹鎮樓 c 標準庫定義了一種string類,定義在標頭檔案 string 中。1.char是乙個指標,string是乙個類string封裝了char,管理這個字串,是乙個char 型的容器。2.string封裝了很多實用的成員方法查詢find,拷貝copy,刪除delete 替換repla...

C 學習(二十九)內聯inline

內聯函式適用能夠快速執行的函式,此時使用內聯省去了函式的呼叫開銷。內聯函式像巨集一樣都是在編譯期展開,內嵌到呼叫處。inline省去普通函式的壓棧和call,以空間換時間,僅僅省去了函式呼叫的開銷 當函式體比較小的時候,內聯該函式可以令目標 更加高效.對於訪問函式以及其它函式體比較短,效能關鍵的函式...

學習筆記第二十九節 動態Dp

因為noip2018考了這乙個東西,所以不得不學。我們以這一題為例題來引入今天的學習 模板 動態dp 我們顯然可以用樹形dp去做,倒不如我們先把方程列出來。這兩條公式挺顯然的吧。假設我們現在無聊,往樹鏈剖分的角度去考慮。那麼我們設乙個陣列g,表示的是從非重兒子轉移來的狀態,跟f陣列的轉移方程類似。我...