Swift:基礎語法(一)

暈水的秋刀魚發表於2018-01-09

Swift,是蘋果2014年在“蘋果開發者大會釋出的新開發語言。源於Objective-C語法和JavaScriptC#語法接近,吸收了其他語言的優秀之處,可以iOSmacOSwatchOStvOS四個平臺開發app以及遊戲,上手速度非常快。下面從基礎語法開始講起。

Swift有兩點創新之處:
1、把結構體作為一個優先的來看待,以前我們使用“物件導向程式設計”主要強調“繼承”這個概念。在Swift3.0中,強調“面向協議程式設計”,並且提倡使用結構體結構體”來取代“類”,提倡遵守協議,取代繼承。

2、Swift 引入Optional(可選型別)這個概念。

一、常量和變數

常量:在程式執行期間,不可以改變的量稱之為常量。常量的值不需要在編譯時指定,但至少要賦值一次。定義常量的語法形式如下:
let 常量名 =
let:定義常量的關鍵字;常量名是常量名稱;值是常量被賦予的值。

變數:變數是用來指代一個可能變化的資料,正好和常量相反,在使用每個變數的時候,都需要宣告和定義,然後再使用。定義變數的語法形式如下:
var 變數名 =
var:定義變數的關鍵字;變數名是變數的名稱(注意:變數名必須符合標示符命名規範);值表示變數被賦予的值。

由於Swift支援型別推斷(型別推斷能使它自動推斷出一個特定表示式的型別),所以在定義常量或變數時,可以不用特意指定資料型別。當然,和其他的語言一樣,也是可以在定義時,指定資料型別的。其語法形式如下:
let / var = 常量/變數名:資料型別 =



二、資料型別

1、整數型別

由於整數根據位數可以分為8163264位形式,所以整數型別分為81632644種形式。又由於根據整數是否有符號可以將整數分為無符號整數和有符號整數,所以整數型別可以分為無符號整數型別和有符號整數型別。
Swift中的整數型別和範圍如下圖:


注:使用U開頭的整數型別都是無符號的。

swift中,除了上面提到的整數型別以外,還提供了額外的整數型別Int,一般大家喜歡稱之為整型。它具有和當前平臺本地字一樣的尺寸大小。

在一個32位的平臺中,Int的尺寸和Int32是一樣的。
在一個64位的平臺中,Int的尺寸和Int64是一樣的。

在一個32位的平臺中,UInt的尺寸和UInt32是一樣的。
在一個64位的平臺中,UInt的尺寸和UInt64是一樣的。

2、浮點型別

浮點數是具有小數部分的數字。Swift中提供了兩種浮點數型別:

Double:表示64位的浮點數,當浮點數值必須非常大或者特別精確時,使用它。
Float:表示32位的浮點數,當浮點數值不需要像64位那樣精確時,使用它。

3、字元型別

字元型別(Character):用於文字的型別。例如“A”、“B”。定義方法如下:
Let / var  常量名 /變數名Character =字元

字串型別(String):也是用於文字型別,其實就是由多個字元組合而成的。定義方法如下:
Let / var  常量名 /變數名String =字串

4、布林型別

布林型別的語法定義如下:
let 常量名/變數名:Bool = 布林值
布林值是指代邏輯,因為它永遠只有兩個值truefalse




5、可選型別

可選型別是用來判斷值是否存在。如果值存在就會輸出,如果不存在就會返回一個nil。它的語法形式如下:
let / var 常量 /變數資料型別



6、型別別名

型別別名就是為現有型別定義的替代名稱,為了更好幫助開發者使用更符合上下文語境的名字來指代一個已存在的型別。對於型別別名的定義,可以使用typealias關鍵字實現,語法形式如下:

typealias型別別名 =資料型別名稱