Swift 是 Apple 公司於 2014 年 6 月在 WWDC 發表的程式語言 (programming language) ,語法設計上比 Objective-C 更簡單直覺,就像是沒有 C 的 Objective-C ,可用來開發 OS X 及 iOS 的應用程式。
另有一種跟 Swift 同名的腳本語言 (script language) ,請參考 The Swift parallel scripting language 。
首先,學習或開發 Swift 都得有一台 Mac 電腦,然後要在 App Store 下載安裝 Apple 官方提供的免費整合開發環境 (integrated development environment) Xcode ,第一次開啟如下圖
Xcode 會隨 OS X 的版本更新,想開發適用最新 OS X 或 iOS 的應用程式,記得要更新 Xcode 。
這一份《入門指南》用的 Xcode 版本是 6.1.1 ,系統則是 OS X 10.10.1 。
我們先點擊 Get Started with a playground ,來玩看看 Swift 吧!下一個畫面要先選擇 OS X 或 iOS ,這裡選擇 OS X
檔名就用預設的 MyPlayground ,接著點擊下方的〔Next〕按鈕
然後選擇檔案的儲存位置,這裡用 _code 資料夾,最後點擊下方的〔Create〕按鈕
_code 資料夾就會出現 MyPlayground.playground 的檔案
Playground 是 Xcode 裡提供給 Swift 的互動程式介面, Playground 的副檔名 (extension) 為 .playground ,而 Swift 程式的副檔名為 .swift 。
下面是進入 Playground 之後的畫面,帶有預設的三行程式碼
大致上分成左右兩邊,左邊是帶有語法高亮度的程式碼,右邊則是程式碼的即時執行結果。
我們先看到第一行程式碼,整理如下
// Playground - noun: a place where people can play |
兩條斜線開始的是單行註解 (comment) ,我們對註解採用綠色的語法高亮度,此例單獨放一行,也可以放在某一行程式碼的最後。
還有一種跨行的註解,範圍從 /* 開始到 */ 結束,可以跨多行。
第二行程式碼,整理如下
import Cocoa |
這裡的 import 用栗色標記,因為 import 為關鍵字 (keyword) 。我們將內文的程式碼字型改為 Courier ,至於關鍵字特別加上粗體,關鍵字就是語法功能的保留字 (reserved word) ,具有特定功能,像這一行的 import 用來引入 Cocoa 框架 (framework) ,黑色的 Cocoa 則是識別字 (identifier) 。
框架是一種特定的軟體架構與體系,也可以稱為程式庫 (library) 。
Cocoa 用以開發 OS X 的相關應用程式,其中包括 Foundation 、 AppKit 及 UIKit 等部分,至於開發 iOS 應用程式需要 Cocoa Touch ,我們會在後續單元介紹 Cocoa 及 Cocoa Touch 有哪些應用。
Swift 總計有以下的關鍵字
__COLUMN__ | __FILE__ | __FUNCTION__ | __LINE__ |
as | break | case | class |
continue | default | deinit | do |
dynamicType | else | enum | extension |
fallthrough | false | for | func |
if | import | in | init |
internal | is | let | operator |
private | protocol | public | nil |
return | self | Self | static |
struct | subscript | super | switch |
true | typealias | var | where |
while |
另有些只在特定區域保留的關鍵字
associativity | convenience | dynamic | didSet |
final | get | infix | inout |
lazy | left | mutating | none |
nonmutating | optional | override | postfix |
precedence | prefix | Protocol | required |
right | set | Type | unowned |
weak | willSet |
我們稍候會慢慢介紹這些關鍵字的用法。
第三行程式碼,關鍵字 var 宣告 (declare) 變數 str ,之後用等號將這個變數 (variable) 設定為雙引號圍起來的字串 (string)
var str = "Hello, playground" |
我們對字串的語法高亮度採藍色,其他 IDE 如 Xcode 對關鍵字或字串等會採取他們自己標記的顏色。
變數屬於識別字的一種,所謂識別字是指程式中自行定義的名稱,變數代表的是如 1 、 2 、 5.3 之類的數字,或是複雜點的物件如此例中的字串,簡言之,一旦變數建立後,變數可以透過重新指派更換變數值,但必須是宣告建立時相同的型態,這是說字串變數只能是字串,不能指派數字到字串變數中。
例如
我們將 str 重新指派為 12 ,結果 Playground 出現警告標示的錯誤訊息,提示訊息的意思就是字串變數不能放入整數數值。
這是資料型態 (data type) 的問題,下一個單元我們繼續討論變數、常數與資料型態。
中英文術語對照
程式語言 | programming language |
腳本語言 | script language |
整合開發環境 | integrated development environment |
副檔名 | extension |
註解 | comment |
關鍵字 | keyword |
保留字 | reserved word |
框架 | framework |
識別字 | identifier |
程式庫 | library |
宣告 | declare |
變數 | variable |
字串 | string |
資料型態 | data type |
沒有留言:
張貼留言