- 跟戴銘學(xué)iOS編程:理順核心知識點
- 戴銘
- 4字
- 2024-01-19 15:19:44
第1章
Swift
1.1 Swift簡介
使用Swift這門編程語言可以開發(fā)iOS、macOS、Linux server-side、云服務(wù),甚至TensorFlow的程序。這門語言包含了很多現(xiàn)在開發(fā)者喜歡的語言特性,通過引入這些先進的語法概念,Swift可以使代碼編寫更加簡潔,更容易編寫出思路新穎的代碼。這些特性包含了閉包和函數(shù)指針的統(tǒng)一、多返回值、泛型、支持方法、擴展和協(xié)議的結(jié)構(gòu)體、函數(shù)編程模式等。蘋果公司希望Swift能夠成為C語言、C++和Objective-C的繼承者,所以既讓它具有了像類型、控制流和運算符一樣的Low-Level Primitives特性,又讓它具備了面向?qū)ο蟮囊恍└呒壧匦浴@鏜odule提供了命名空間,去掉了頭文件,并且提供了do、guard、defer和repeat等具有創(chuàng)意的語法關(guān)鍵字和規(guī)則。
Swift是一種多范式(Multi-paradigm)的編程語言,可以使用面向?qū)ο蠛秃瘮?shù)式的方式來寫程序,如面向協(xié)議編程、直接操作內(nèi)存等。像C語言那樣進行低層級的位操作,但是這種操作在編譯環(huán)節(jié)不容易檢查,不安全、容易出錯,所以這種操作又具有“unsafe”特性,一般只在與C語言交互時使用。
Swift作為一個強類型語言,在編譯時推斷完類型之后,變量和參數(shù)等都會有確定的類型,并且在編譯時有著比Objective-C更嚴格的靜態(tài)類型檢查機制。這樣的設(shè)計是為了使代碼更加安全。為了安全,Swift要求變量在使用前必須初始化。Swift的編譯器會阻止生成并避免使用nil對象。如果使用nil對象是必要的,那么可以使用Swift中的optional功能。optional里包含了nil對象。Swift定義了一個“?”語法,該語法會在編譯時強制開發(fā)者處理值為nil的情況,讓你確認已安全處理了這個值。通過LLVM編譯器優(yōu)化,Swift的構(gòu)建速度非常快。
Swift已經(jīng)開源,源代碼、bug追蹤器和郵件列表都能在Swift.org上找到。這個開源項目包含了一系列的子項目,包括Swift編譯器命令行工具、標準庫、高級功能的核心庫、Swift REPL的LLDB調(diào)試器,以及用于分發(fā)和構(gòu)建源代碼的包管理工具(Swift Package Manager)。開源后的Swift獲得了更多的貢獻者,使得它能在更多平臺和技術(shù)社區(qū)里運用起來,并且能夠移植到更多的非蘋果公司的平臺上。

- Android Wearable Programming
- Mastering Entity Framework Core 2.0
- 架構(gòu)不再難(全5冊)
- C# Programming Cookbook
- 深入淺出WPF
- Learning Linux Binary Analysis
- Building a Recommendation Engine with Scala
- Learning Neo4j 3.x(Second Edition)
- Visual Basic學(xué)習(xí)手冊
- HTML5+CSS3+JavaScript Web開發(fā)案例教程(在線實訓(xùn)版)
- Learning Apache Mahout Classification
- C++面向?qū)ο蟪绦蛟O(shè)計習(xí)題解答與上機指導(dǎo)(第三版)
- HTML5秘籍(第2版)
- 匯編語言編程基礎(chǔ):基于LoongArch
- C++ Fundamentals