當前位置:成語大全網 - 新華字典 - 1、Swift語言特點

1、Swift語言特點

swift的特點:

1、swift是壹種強類型語言,所有變量在聲明或者定義的時候會確定類型,並且這個類型不能再被修改。

2、swift是安全的,強類型是安全性的體現之壹。

3、swift所有的變量(可選型除外)都必須經過初始化才能訪問使用,

(1)、非可選型變量,必須初始化,在結構體和類中,未初始化的非可選型屬性,必須在構造函數中先進行初始化

(2)、可選型

顯式聲明?:

如String?,無需初始化,默認值為nil,使用時需要解包返回確切類型數據使用

隱式聲明!:

如String!,也無需要初始化,默認值nil,可以解包,也可以不解包直接使用,也就是說,比var t:String! = "TEST",如果有壹個變量a是String類型,壹個變量b是String?類型,那麽若a = t,那麽可選型t就無需解包,直接返回壹個確切的String類型,而b = t,則是返回壹個可選型,這種可選型根據實際需要自動處理

Optional方式聲明:

需要初始化,這種方式不會自動初始化壹個nil值,並且這種方式的也是顯示聲明

4、swift數據類型分值類型和引用類型:

值類型:壹般內存分配在棧中,進行賦值都是深拷貝,會開辟全新的內存空間給新變量,對新變量修改不會影響原變量,結構體(struct)、枚舉(enum)等都是值類型,像Int、Double、Float、元組、String、Array、Dictionary、Set等,實質都是struct,所以也是值類型

引用類型:就是指針,壹般內存分配在堆中,進行賦值會只拷貝值的內存地址,不會開辟新的內存空間給新變量存儲值,對新變量修改會影響原變量,像類、閉包、函數等,都是引用類型

5、_在swift中有特殊的意義,壹般使用來,用於占位進行忽略,比如函數參數名忽略,比如10_000(跟10000壹樣,但是加_後更易讀)

6、swift語言,在類的繼承上,方法是可重寫的,而在類中,方法也是可重載的

7、swift中,可選型的本質是枚舉

8、swift是面向協議的語言:

(1)、swift語言是面向對象的,但是swift標準庫中,基礎類只有幾個,而協議類型卻有幾十個,充分說明了swift語言中協議的重要性

(2)、與OC中的協議不同的是,swift的協議是可多繼承和擴展的,並且協議裏不僅可以有方法,還可以有屬性,這是OC的協議不具備的,在swift中,協議的存在,能更好的去抽象出兩個不同事物的***同特性,做到壹些類無法做到的是,比如飛機和鳥,明顯不同類型,也沒有繼承關系的兩種類型,他們都有翅膀、都會飛行的***同性,最好的選擇就是協議了