Swift--語法基礎(chǔ)

  • 標(biāo)識(shí)符和關(guān)鍵字

  • 常量和變量

  • 注釋

  • 表達(dá)式

標(biāo)識(shí)符和關(guān)鍵字

標(biāo)識(shí)符就是常量、變量、方法、函數(shù)、枚舉、結(jié)構(gòu)體、類、協(xié)議等由開發(fā)人員指定的名字。

一、標(biāo)識(shí)符的命名規(guī)則

  1. 區(qū)分大小寫,Myname與myname是兩個(gè)不同的標(biāo)識(shí)符
  2. 首字符,可以是下劃線(_)或者字母,但不能是數(shù)字
  3. 其他字符,可以是下劃線(_)、 字母或數(shù)字

字母:采用的是Unicode編碼。Unicode叫做統(tǒng)一編碼,它包含了亞洲文字編碼,中文、日文、韓文等字符,甚至是我們?cè)诹奶旃ぞ咧惺褂玫谋砬榉?hào),如??????等,這些符號(hào)事實(shí)上也是Unicode,而非圖片。

示例

正確的合法的標(biāo)識(shí)符如:identifier、userName、User_Name、_sys_val、身高

不合法的標(biāo)識(shí)符如:2mail、room# 和class

二、關(guān)鍵字

關(guān)鍵字是類似于標(biāo)識(shí)符的保留字符序列,由語言本身定義好的,不能挪作他用。 如:class、func、 return...

4種類常見的關(guān)鍵字
1、與聲明有關(guān)的關(guān)鍵字: class,deinit,enum,extension, func, import, init, inout, internal, operator, private, public, let , protocol, static, struct, subscript, typealias, var。

2、與語句有關(guān)的關(guān)鍵字: break, case, continue, default, repeat, else, fallthrough, if, in , for, defer, guard, do, return, switch, where, while。

3、表達(dá)式和類型關(guān)鍵字: as, catch, dynamicType, false, is, nil, rethrows, super, self, Self, throw, throws, true, try, COLUMN , FILE, FUNCTIONLINE

4、在特定上下文中使用的關(guān)鍵字: associativity, convenience, dynamic, didSet, final, get, infix, lazy, left, none, nonmutating, optional, override, postfix, precedence, prefix, Protocol, required, right, set, Type, unowned, weak和willSet。

常量和變量

let a = "123456" //常量
var a = "測(cè)試" //變量

使用var還是let

let和var關(guān)鍵字聲明時(shí),原則上優(yōu)先使用let, 它有很多好處,可以防止程序運(yùn)行過程中不必要的修改并提高程序的可讀性。

特別值得一提的是,引用數(shù)據(jù)類型聲明時(shí)經(jīng)常采用let聲明,雖然業(yè)從務(wù)層面來講并不需要一個(gè)常量, 但是使用let可以防止引用數(shù)據(jù)類型在程序運(yùn)行過程中被錯(cuò)誤地修改。

屏幕快照 2019-07-21 下午9.41.13.png

解釋:
Person類有兩個(gè)屬性和一個(gè)構(gòu)造函數(shù),
實(shí)例化一個(gè)Person對(duì)象得到p1, p1聲明為let類型, p1實(shí)際上就是一個(gè)指針,let代表指針本身不能被修改, 但是指針內(nèi)容可以被修改。p1.age = 20 即為修改了p1里面的age屬性。

如果試圖修改指針本身,如p1 = Person(name: "Tom", age: 18), 把p1重新賦值,賦給另外一個(gè)對(duì)象,在這個(gè)過程中會(huì)發(fā)生編譯錯(cuò)誤,這就說明用let聲明的這種引用數(shù)據(jù)類型,它的引用也就是指針不能被修改,但是引用也就是指針?biāo)傅膬?nèi)容可以被修改。

注釋

注釋分為單行注釋和塊注釋

單行注釋


image.png

塊注釋:可以注釋多行代碼,可以嵌套其他的注釋


image.png

表達(dá)式

表達(dá)式有3種形式

1、不指定數(shù)據(jù)類型
var al = 10
var a2 = 20
var a = a1 > a2 ? "a1" : "a2"
2、指定數(shù)據(jù)類型
var a1: Int = 10
let a2: Int = 20
var a = a1 > a2 ? "a1" : "a2"
3 、使用分號(hào)
var a1: Int = 10; var a2: Int = 20
var a = a1 > a2 ? "a1": "a2"

注意:多條語句寫在一行的情況下要使用分號(hào)來區(qū)分兩條語句。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容