官术网_书友最值得收藏!

2.1 變量與常量

在Swift語言中,let關鍵字和var關鍵字分別用來表示常量和變量。無論是let還是var,其作用都是為某個具體量值取了一個名稱,在編程中,這種方式叫作量值的聲明。在量值的有效作用域內,開發者可以使用這些名稱來獲取到具體的量值。編程中有兩個最基本的概念:量值和表達式。我們可以簡單將量值理解為結果,例如數字3就是一個整數型量值;字符串“hello”就是一個字符串型的量值。而表達式可以理解為一個計算過程,其結果會是一個量值,例如1+2就是一個表達式,其結果為量值3;“hello”+“world”也是一個表達式,其結果為量值“hello world”。大多數表達式都是由量值與運算符組成的,這些會在后面具體向讀者介紹。

2.1.1 變量與常量的定義和使用

使用Xcode開發工具創建一個命名為Swift_Basic的playground文件,可以看到模板中自動生成了以下兩行代碼:

    //引入UI開發框架
    import UIKit
    //定義一個變量 賦值為字符串"Hello, playground"
    var str = "Hello, playground"

上面的代碼中,第1行代碼是引入iOS開發框架中的一個UI框架,后面的實戰階段中會向讀者詳細介紹。第2行代碼實際上進行了兩步操作,首先聲明了一個變量str(str就是此變量的名稱),之后將“Hello,playground”字符串賦值給這個str變量。我們可以將以上代碼分解為如下代碼:

    //1聲明字符串變量str
    var str:String
    //2對字符串變量str進行賦值
    str = "hello,playground"

上面的代碼中演示了為量值指定類型的語法,即在常量或者變量名后加冒號,冒號之后寫上指定的類型名。Swift是一種類型安全語言,即常量或者變量在聲明的時候必須指定明確的類型。看到這里,讀者可能會有一些疑問,為何在Xcode生成的模板代碼中沒有指定str變量的類型,系統依然沒有報錯,原因要歸功于Xcode編譯器,Xcode編譯器支持對Swift語言的類型自動推斷,當聲明變量時如果直接給變量賦初值,則編譯器會根據賦值的類型來確定變量的類型,之后變量的類型將不可更改。Swift中可以使用print()函數來進行打印操作,例如打印變量str,示例代碼如下:

    //量值的打印
    print(str)

在使用常量或者變量時,開發者可以直接通過名稱來調用對應的量值,示例代碼如下:

    //更改str變量的值
    str = "newValue"
    //在str字符串變量后邊追加hello
    str = str+"hello"

Swift語言也支持在同一行語句中聲明多個常量或者變量,但是要遵守明確類型的原則,至于具體類型是開發者指定的還是編譯器推斷的并無關系,例如:

    //聲明定義了3個變量 整數類型變量a 浮點數類型變量b 字符串類型變量c
    //編譯器推斷
    var a=1,b=2.9,c="string"
    //手動指定
    var a2:Int=1,b2:Float=2.9,c2:String="string"

如果在同一句代碼中聲明多個變量并且都沒有提供初始值,可以通過指定最后一個變量的類型對整體進行類型指定,例如:

    //聲明3個Int類型的變量
    var one,two,three:Int

上面代碼中聲明的one、two、three都是Int型變量。

提示

(1)Swift語言是一種十分快速簡潔的語言,其允許開發者省略分號,自動以換行來分隔語句,同時也支持在一行中編寫多句代碼,此時需要使用分號對語句分隔,例如:

var str:String;str = "hello,playground";print(str)

(2)對Swift語言的類型推斷是Xcode編譯器一個十分優秀的特性,在實際開發中,開發者應該盡量使用這種特性。

(3)如果需要修改變量的值,直接對變量再賦值即可。需要注意的是,所賦值的類型必須和變量的類型保持一致。

2.1.2 變量和常量的命名規范

在Swift語言中,常量和變量的命名規則十分寬泛,可以包括Unicode字符和數字,需要注意的是,不可使用預留關鍵字來作為常量或者變量的名稱,例如let、var這類的關鍵字不可作為量值名來聲明。另外,常量和變量的命名不可以數字開頭,空格、數學符號、制表符、箭頭等符號也不可用在命名中。

可以使用中文進行命名,示例如下:

    //使用中文進行變量的命名
    var 琿少 = "琿少"

可以使用表情符號進行命名,如圖2-1所示。

圖2-1 使用表情符號進行變量的命名

可以使用穿插數字進行命名,注意數字不能作為開頭:

    //含有數字的命名
    var pen2 = "鋼筆"

可以使用下劃線進行命名:

    //使用下劃線進行命名
    var _swift_ = "swift"

雖然Swift支持的命名方式十分廣泛,但在實際開發中,良好的命名風格可以大大提高編碼效率與代碼的可讀性。Swift語言官方文檔采用駝峰命名的方式。所謂駝峰命名,是指以單詞進行名稱的拼接,名稱的首字母一般為小寫,之后每個單詞的首字母大寫,其他字母均小寫。示例如下:

    //駝峰命名
    var userName = "琿少"

提示

(1)Unicode(統一碼、萬國碼、單一碼)是計算機科學領域里的一項業界標準,包括字符集、編碼方案等。Unicode是為了解決傳統的字符編碼方案的局限而產生的,它為每種語言中的每個字符設定了統一并且唯一的二進制編碼,以滿足跨語言、跨平臺進行文本轉換、處理的要求。Unicode于1990年開始研發,1994年正式公布。

(2)Swift中的命名也有一些約定俗成的規則,例如量值屬性首字母會小寫,類名、枚舉名、結構體名首字母會大寫。

(3)如果在命名中真的需要使用預留的關鍵字進行命名,可使用`符號進行包裝,但是如非萬不得已,開發中應盡量不使用這種方式命名,包裝示例如下:

//用預留關鍵字進行命名
var `var` = 2
主站蜘蛛池模板: 铜鼓县| 平果县| 剑阁县| 威海市| 承德市| 呼和浩特市| 台南县| 鄂托克前旗| 礼泉县| 峨边| 东安县| 普洱| 临西县| 花垣县| 武乡县| 新建县| 龙山县| 荔浦县| 丰镇市| 岳池县| 隆化县| 屯门区| 东源县| 衡阳县| 理塘县| 康马县| 广河县| 临夏县| 榆林市| 旅游| 睢宁县| 常宁市| 岱山县| 哈密市| 通城县| 怀仁县| 安宁市| 达拉特旗| 贺兰县| 封开县| 赤峰市|