亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Swift語言指南(一)--語言基礎之常量和變量

2019-11-14 20:25:23
字體:
來源:轉載
供稿:網友

Swift 是開發 iOS 及 OS X 應用的一門新編程語言,然而,它的開發體驗與 C 或 Objective-C 有很多相似之處。

Swift 提供了 C 與 Objective-C 中的所有基礎類型,包括表示整數的 Int,表示浮點數的 DoubleFloat,表示布爾值的 Bool,以及表示純文本數據的 String。 Swift 還為兩個基本集合類型 ArrayDictionary 提供了強大的支持,詳情可參考 (集合類型)Collection Types。

與 C 語言類似,Swift 也采用變量存儲數據,并通過標識符來引用變量值。 Swift 還擴充了值不可變的量--即常量,使它比 C 語言中的常量強大得多。 當在 Swift 中操作不需要改變值的數據時,使用常量可使代碼更安全、更簡潔。

除常見類型以外,Swift 還引入了 Objective-C 中不存在的高級類型,其中包括元組(tuple),可以新建或傳遞一組值。函數可以將多個值作為整體(多個元組值的組合)返回給調用方。

Swift 還引入了可選值(optional types),可處理不存在的值。可選值可以“存在一個值 x”,也可以“不存在任何值”??蛇x值與 Objective-C 為指針賦 nil 相似,但在 Swift 中可以對任意類型使用,而不只針對類??蛇x值比 Objective-C 的 nil 指針更安全且語義更生動,在 Swift 最強大的諸多功能中得到了深入的應用。

可選值是 Swift 類型安全的一點體現。Swift 可幫助你清晰地了解代碼能處理的數據類型。如果代碼希望得到 String 類型,類型安全的特性將阻止你錯誤地將 Int 類型傳遞過去。這樣可以在開發過程中盡可能早地發現與修正問題。

 

常量與變量

常量及變量將名稱(如maximumNumberOfLoginAttemptswelcomeMessage) 與特定類型的值(如數字 10 或字符串 "Hello")關聯起來。常量一旦賦值,其值不可再改變;而變量以后還可以再重新賦值。

常量與變量的聲明

常量與變量使用前必須先分別用let關鍵字和var關鍵字聲明,下面的例子展示了常量和變量如何跟蹤用戶的登錄次數:

1 let maximumNumberOfLoginAttempts = 102 var currentLoginAttempt = 0

上例的代碼可以解讀為:聲明一個名為maximumNumberOfLoginAttempts的常量,賦值為10。聲明一個變量currentLoginAttempt,將其值初始化為0。

允許用戶嘗試登錄的最大次數賦值給了一個常量,因為最大次數的值在運行時是不變的,而當前登錄次數賦值給了一個變量,因為當前嘗試登陸失敗的次數是累加的。

你可以使用逗號分隔的方式在一行內完成多個常量或變量的賦值:

var x = 0.0, y = 0.0, z = 0.0

練習:

用let關鍵字聲明一個常量來保存代碼中不會被改變的值,使用var關鍵字保存代碼中需要改變的值

類型標識

聲明常量或變量時刻提供類型標識,以指定該常量或變量可以保存的值的類型。使用時在常量或變量名后面跟一個冒號,一個空格再加上要使用的類型名稱:

1 var welcomeMessage: String

冒號在聲明表示“...的類型是...”,所以,上例中的代碼意思是:“變量welcomeMessage的類型是String”。

“String類型”意味著可以保存“任何String類型的值”,也就是說可以存儲的“東西的類型(或東西的種類)”。

變量welcomeMessage現在可以保存任意字符串類型的值,不會報錯:

1 welcomeMessage = "Hello"

在實踐中需要類型標識的情況非常罕見。如果你在定義常量或變量時提供了初始值,Swift 通常能夠推斷出該常量或變量應使用的類型,詳情參見 類型安全及類型推斷(后續章節譯到。在上述 welcomeMessage 例子中,沒有提供初始值,因此才通過類型說明給 welcomeMessage 變量明確指定類型,而沒有讓它通過初始值推斷。

 

常量與變量的命名

你幾乎可以使用任何字符來給常量或變量命名,包括Unicode字符:

1 let π = 3.141592 let 你好 = "你好世界"3 let 
 = "dogcow

常量及變量的名稱不可以包含數學符號、箭頭、私有(即無效的)Unicode 碼數,或繪制線條/方框用的字符。并且名稱不能以數字開頭, 但除了開頭的其他地方都可以使用數字。

一旦你聲明了一個指定了值類型的常量或者變量,那你就不能再次給它重新聲明同名的常量或變量了,也不能更改使其存放不同類型的值,更不能把常量再次聲明為變量,變量再次聲明為常量。

注:

如果需要將常量或變量命名為 Swift 的保留字,可以在將該保留字作為名稱使用時用反引號(`)包圍。盡管如此,你還是應該避免將保留字作為名稱使用,除非迫于無奈。

你可以將變量的值重新更改為其它同類型的值,如下例中變量friendlyWelcome的值由“hello!”變為“Bonjour!”:

1 var friendlyWelcome = "Hello!"2 friendlyWelcome = "Bonjour!"3 //friendlyWelcome 的值現在為 "Bonjour!"

與變量不同的是,常量一旦被賦值就不可再更改。嘗試更改將會報錯,下面代碼編譯時會報錯:

1 let languageName = "Swift"2 languageName = "Swift++"3 // 編譯時報錯 - languageName 不可更改

常量和變量的輸出

通過PRintIn函數輸出常量和變量的當前值:

1 println(friendlyWelcome)2 // 輸出 "Bonjour!”

println 是一個全局函數,輸出值并在末尾接換行符。例如在 Xcode 環境開發,println 會將輸出內容輸出至 Xcode 的“控制臺”面板。(另一個函數 print 執行幾乎一樣的操作,不同之處在于,后者不會在輸出值末尾換行。)

與 Cocoa 的 NSLog 函數相似,println 還能輸出更復雜的日志消息,消息內容可以包含常量或變量的當前值。

Swift用字符串插入(string interpolation)的方式把常量名或者變量名當做占位符加入到長字符串中,提示Swift用當前常量或變量的值去替換這些占位符。將常量或變量名放入反斜杠符加一對圓括號中--"/()"

1 println("The current value of friendlyWelcome is /(friendlyWelcome)")2 // 輸出 "The current value of friendlyWelcome is Bonjour!”

注:

字符串插入可用的所有選項參見字符串插入(后續章節譯到)

 

謝謝,Swifter-QQ群:362232993,同好者進~ 

Fork:https://github.com/Joejo/Swift-lesson-for-chinese

 

 

 

 

 

 

 

 

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
美女精品视频一区| 亚洲一区第一页| 日韩欧中文字幕| 国产精品女主播| 欧美精品情趣视频| 日日噜噜噜夜夜爽亚洲精品| 亚洲成人国产精品| 欧美日韩国产精品一区二区不卡中文| 亚洲综合日韩中文字幕v在线| 国产女人精品视频| 国产亚洲欧美日韩一区二区| 国产精品扒开腿做爽爽爽视频| 亚洲综合中文字幕在线| 136fldh精品导航福利| 中文字幕少妇一区二区三区| 不卡伊人av在线播放| 久久97久久97精品免视看| 久久久久久久影院| 国产91露脸中文字幕在线| 97色在线播放视频| 91亚洲精品一区二区| 日本国产一区二区三区| 国产欧美精品在线播放| 亚洲欧美视频在线| www.日韩系列| 国产精品第三页| 色综合久综合久久综合久鬼88| 欧美一区亚洲一区| 欧美特级www| 欧美日韩午夜视频在线观看| 欧美裸体xxxx极品少妇| 欧美色videos| 精品久久国产精品| 久久激情视频久久| 久久影视电视剧免费网站| 亚洲国语精品自产拍在线观看| 亚洲欧洲一区二区三区在线观看| 亚洲精品mp4| 国产精品嫩草影院一区二区| 日本精品在线视频| 国产成人综合久久| 亚洲欧美成人一区二区在线电影| 国产精品男人爽免费视频1| 久久久久久久久久久av| 91网站在线免费观看| 中文字幕日韩视频| 人体精品一二三区| 91精品国产自产在线老师啪| 最近2019年手机中文字幕| 热久久这里只有精品| 国产国语刺激对白av不卡| 国产精品成人在线| 欧美激情精品久久久久久| 一区二区三区四区精品| 国产日韩在线观看av| 777777777亚洲妇女| 久久久久久久国产| 不卡av在线网站| 欧美精品videosex极品1| 成人免费在线视频网址| 国产午夜精品免费一区二区三区| 激情懂色av一区av二区av| 韩国精品久久久999| 亚洲一级黄色av| 69影院欧美专区视频| 韩剧1988在线观看免费完整版| 91精品国产自产91精品| 日韩视频―中文字幕| 日本精品久久电影| 国产免费一区二区三区香蕉精| 久久久久久成人| 久久视频免费观看| 久久久精品一区二区| 亚洲欧洲在线免费| 高清日韩电视剧大全免费播放在线观看| 国产精品日韩一区| 久久视频国产精品免费视频在线| 亚洲精品久久久久久久久久久| 国产精品亚洲综合天堂夜夜| 亚洲色图狂野欧美| 欧美在线视频网站| 国产精品视频xxxx| 国产精品久久久久久久午夜| 亚洲成人免费在线视频| 亚洲国产另类久久精品| 久久久免费av| 久久精品久久久久| 全亚洲最色的网站在线观看| 97香蕉久久超级碰碰高清版| 国产精品爽黄69| 欧美在线观看一区二区三区| 欧美一区在线直播| 欧洲成人午夜免费大片| 热久久视久久精品18亚洲精品| 91精品国产沙发| 久久精品91久久久久久再现| 亚洲精品视频免费| 欧美午夜精品久久久久久浪潮| 按摩亚洲人久久| 91精品综合视频| 亚洲人午夜色婷婷| 9.1国产丝袜在线观看| 日韩成人久久久| 欧美wwwxxxx| 精品国产乱码久久久久久天美| 国模私拍一区二区三区| 欧美肥臀大乳一区二区免费视频| 97精品视频在线播放| 亚洲第一精品福利| 国产精品久久久av| 成人乱人伦精品视频在线观看| 日韩欧美国产高清91| 欧美专区在线播放| 色综合色综合久久综合频道88| 亚洲精品免费在线视频| 久久久久久伊人| 欧美巨猛xxxx猛交黑人97人| 亚洲电影免费观看高清完整版在线| 自拍偷拍免费精品| 午夜精品福利视频| 亚洲91av视频| 欧美精品在线看| 亚洲一区二区久久| 日本中文字幕久久看| 国产91精品高潮白浆喷水| 91精品国产高清自在线| 欧美人与性动交a欧美精品| 国产成人+综合亚洲+天堂| 亚洲精品视频播放| 国产成人啪精品视频免费网| 国产精品久久国产精品99gif| 国产精品一香蕉国产线看观看| 亚洲iv一区二区三区| 97超级碰碰人国产在线观看| 97精品欧美一区二区三区| 欧美黄色小视频| 一区二区三区高清国产| 亚洲最大的成人网| 亚洲电影免费观看高清完整版| 国产精品视频26uuu| 欧美性生活大片免费观看网址| 日韩精品在线视频观看| 国产精品青草久久久久福利99| 欧美日本精品在线| 韩国三级日本三级少妇99| 成人网中文字幕| 国产精品免费一区| 俺去了亚洲欧美日韩| 亚洲毛片在线观看.| 国产亚洲人成a一在线v站| 成人网页在线免费观看| 欧美国产极速在线| 亚洲精品影视在线观看| 久久伊人精品天天| 欧美精品videosex极品1| 久久男人的天堂| 亚洲精品国产精品国自产在线| 亚洲色图50p| 欧美xxxx综合视频| 尤物九九久久国产精品的特点| 欧美日韩精品在线观看| 成人免费淫片视频软件| 久久国内精品一国内精品| 亚洲天堂开心观看|