函數(shù)的基本用法
創(chuàng)新互聯(lián)建站專注于白銀網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供白銀營(yíng)銷型網(wǎng)站建設(shè),白銀網(wǎng)站制作、白銀網(wǎng)頁(yè)設(shè)計(jì)、白銀網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造白銀網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供白銀網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。一個(gè)簡(jiǎn)單的函數(shù),如下:
func sayHello(personName:String) -> String {
let s = "你好" + personName + "!"
return s
}
let s = sayHello("iOS")
print(s)
func關(guān)鍵字:用于標(biāo)示,這是一個(gè)函數(shù)
函數(shù)名字:sayHello 應(yīng)當(dāng)清晰明了且符合駝峰規(guī)則編碼規(guī)范
參數(shù)列表:(personName:String) personName是參數(shù)名,String是這個(gè)參數(shù)的類型
返回值:-> String 表示返回值是一個(gè)字符串類型
函數(shù)體:{ } 放置代碼,即函數(shù)的執(zhí)行代碼
函數(shù)的參數(shù)
函數(shù)可以沒有參數(shù):
func sayHello() -> String {
return "你好!"
}
print(sayHello())
可以為函數(shù)設(shè)置多個(gè)參數(shù),如:
func sayHello(personName personName:String, isMale isMale:Bool) -> String {
var s:String;
if ( isMale ) {
s = "你好" + personName + ",帥哥!"
}
else {
s = "你好" + personName + ",美女!"
}
return s
}
print(sayHello(personName: "iOS", isMale: true))
參數(shù)的名字:
內(nèi)部參數(shù)名:該參數(shù)名只在函數(shù)的內(nèi)部能夠看到,如:
func sayHello(personName:String) -> String {
let s = "你好" + personName + "!"
return s
}
print(sayHello("iOS"))
外部參數(shù)名:該參數(shù)名還可以在函數(shù)的外部看到,如:
func sayHello(personName personName:String) -> String {
let s = "你好" + personName + "!"
return s
}
print(sayHello(personName: "iOS"))
第二個(gè)參數(shù)及后面的參數(shù),無(wú)論第一個(gè)參數(shù)是否是外部參數(shù),都是外部參數(shù),如:
func sayHello(person1Name:String, person2Name:String) -> String {
let s = "你好 " + person1Name + " and " + person2Name + "!"
return s
}
print(sayHello("iOS", person2Name: "Android"))
后續(xù)的參數(shù)前添加 “_ "可以打破這一規(guī)則
func sayHello(person1Name:String, _ person2Name:String) -> String {
let s = "你好 " + person1Name + " and " + person2Name + "!"
return s
}
print(sayHello("iOS", "Android"))
帶可變參數(shù)的函數(shù),如:
func sum(numbers: Int ...) -> Int {
var total = 0;
for n in numbers {
total += n
}
return total
}
print(sum(1,2,3,4,5))
函數(shù)的默認(rèn)參數(shù),如:
func sayHello(personName personName:String, isMale:Bool = true) -> String {
var s:String;
if ( isMale ) {
s = "你好" + personName + ",帥哥!"
}
else {
s = "你好" + personName + ",美女!"
}
return s
}
//print(sayHello(personName: "iOS", isMale: true))
print(sayHello(personName: "iOS"))
函數(shù)的默認(rèn)參數(shù),要遵循從最右邊開始的規(guī)則
函數(shù)的重載,如:
func sayHello(personName personName:String) ->String {
let s = "你好" + personName + "!"
return s
}
func sayHello(personName personName:String, isMale:Bool) -> String {
var s:String
if ( isMale ) {
s = "你好" + personName + ",帥哥!"
}
else {
s = "你好" + personName + ",美女!"
}
return s
}
print(sayHello(personName: "iPhone”)) // 你好iPhone!
print(sayHello(personName: "iOS", isMale: true)) // 你好iOS,帥哥!
函數(shù)重載的依據(jù)是:參數(shù)列表不同
但要注意函數(shù)在重載時(shí),如果參數(shù)帶默認(rèn)值帶來(lái)的歧義的情況
參數(shù)的可變性:
參數(shù)默認(rèn)都是常量(let),在函數(shù)內(nèi)不能進(jìn)行修改
可以顯式聲明參數(shù)為變量(var),這樣參數(shù)在函數(shù)內(nèi)就可以被修改
func factorial(var number:Int) ->Int {
var result:Int = 1
while number > 1 {
result = result * number
number--
}
return result
}
print(factorial(6))
要注意:形參不能修改實(shí)參
形參修改實(shí)參的辦法:
swift精心設(shè)計(jì)了inout關(guān)鍵字,用于聲明形參是一個(gè)出參,實(shí)參使用&運(yùn)算符
func mySwap(inout a:Int, inout b:Int) {
var tem:Int
tem = a
a = b
b = tem
}
var x1 = 10, x2 = 20
mySwap(&x1, b: &x2)
print("x1=\(x1) x2=\(x2)”) // x1=20 x2=10
注意:出參的實(shí)參必須是變量、出參不能帶默認(rèn)值、inout關(guān)鍵不能和let及var一期使用
函數(shù)的返回值
無(wú)返回值:
func mySwap(inout a:Int, inout b:Int) {
var tem:Int
tem = a
a = b
b = tem
}
var x1 = 10, x2 = 20
mySwap(&x1, b: &x2)
print("x1=\(x1) x2=\(x2)”) // x1=20 x2=10
一個(gè)返回值:
func factorial(var number:Int) ->Int {
var result:Int = 1
while number > 1 {
result = result * number
number--
}
return result
}
print(factorial(6))
多個(gè)返回值(元組):
func count(kids: Dictionary<String, String>) -> (girls:Int, boys:Int) {
var girls = 0, boys = 0
for c in kids.values {
if c == "Girl" {
girls++
}
else if c == "Boy" {
boys++
}
}
return (girls, boys)
}
var k:Dictionary<String, String> = ["AAA":"Girl", "BBB":"Boy", "CCC":"Girl", "DDD":"Girl", "EEE":"Boy"]
var (g, b) = count(k)
print("girls=\(g) boys=\(b)")
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)頁(yè)名稱:Swift2.0(9)函數(shù)的使用(一)-創(chuàng)新互聯(lián)
本文來(lái)源:http://m.rwnh.cn/article32/dscosc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、電子商務(wù)、網(wǎng)站策劃、域名注冊(cè)、軟件開發(fā)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容