關注Swift好久了,現在準備好好學習一下,使用Playground練習Swift語法再好不過了,
但是新建一個Playground,準備上手的時候還有點不會用,打開後我專門去找執行圖標,
試了遍上面所有得圖標也沒有一個正確的,囧…
後來隨便一個寫了個print語句,右側就有結果了;原來Playground是自動執行的…
Swift語言有些語法都跟C++、Java等語言類似,比如註釋什麼
我練習也不按套路,就從平時編程用到最多的語法開始。
以下練習使用的Xcode 7,使用Swift 2.0語法
定義變量/常量
- 變量
變量/常量的定義可以不指定類型,在賦值時Swift會自動判斷;
語句結尾不需要分號;
var str = "hello world"
//或
var welcomeMessage: String = "Hi Swift"
- 常量
//定義常量
let URL = "http://www.aswifter.com"
輸出字符串
- print語句
var str = "hello world"
print(str)
println在swift 2.0裏已經沒有了,直接使用print吧
- print語句中可以直接使用變量/常量,使用”()”包含變量/常量即可。
let URL = "http://www.aswifter.com"
print("我的博客地址:\(URL)")
循環語句
- for in語句
for index in 1...5 {
print(index)
}
1…5 表示一個Range,表示從1到5。
這個條語句在Playground執行結果就顯示了“5 times”,
我要看詳細結果怎麼辦,找了半天,終於被我發現了,如下圖:
普通的for語句,while語句,do..while語句都與C語言的一樣,略過~~
集合類型
數組
- 創建數組
var shoppingList = ["牛奶", "麪包"]
//或
var shoppingList2: [String] = []
同樣因爲類型自動推斷,我們可以不指定類型,
創建空數組可以用第二種方式。
增加元素
//添加一個元素 shoppingList.append("西瓜") //添加數組 shoppingList += ["西瓜","蘋果"]
“+=”表達式不能直接加上一個字符串,只能拼接數組。
訪問元素
經典的下標訪問var firstItem = shoppingList[0]
同時修改多個元素
shoppingList[0...1] = ["香蕉", "哈密瓜"]
刪除元素
let mapleSyrup = shoppingList.removeAtIndex(0)
刪除會返回當前被刪除的元素
遍歷數組
for item in shoppingList { print(item) }
Set集合
創建Set
var letters = Set<Character>() //或 var favoriteGenres: Set = ["Rock", "Classical", "Hip hop"]
插入刪除元素
favoriteGenres.insert("Jazz") let removedGenre = favoriteGenres.remove("Rock")
集合操作
- 使用union(_:)方法根據兩個集合的值創建一個新的集合。
- 使用subtract(_:)方法根據不在該集合中的值創建一個新的集合。
- 使用intersect(_:)方法根據兩個集合中都包含的值創建的一個新的集合。
- 使用exclusiveOr(_:)方法根據值在一個集合中但不在兩個集合中的值創建一個新的集合。
//集合操作 let oddDigits: Set = [1, 3, 5, 7, 9] let evenDigits: Set = [0, 2, 4, 6, 8] let singleDigitPrimeNumbers: Set = [2, 3, 5, 7] oddDigits.union(evenDigits).sort() // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] oddDigits.intersect(evenDigits).sort() // [] oddDigits.subtract(singleDigitPrimeNumbers).sort() // [1, 9] oddDigits.exclusiveOr(singleDigitPrimeNumbers).sort() // [1, 2, 9]
字典
創建字典
var airports: [String:String] = ["TYO": "Tokyo", "DUB": "Dublin"] //或 var airports = ["TYO": "Tokyo", "DUB": "Dublin"] //創建空字典 var namesOfIntegers = Dictionary<Int , String>()
訪問字典
print(airports["TYO"]) airports["TYO"] = "Beijing" //添加 airports["LHR"] = "London" //刪除 airports["LHR"] = nil
字典遍歷
for (airportCode, airportName) in airports { print("\(airportCode): \(airportName)") }
參考資料
The Swift Programming Language 中文版
The Swift Programming Language 2.0 官方教程
中文版的教程有些老了,還是基於Swift 1.0的,有些函數已經發生了變化,可以對照看官方教程。
本文作者: 陽春麪
原文地址:http://www.aswifter.com/2015/07/12/learn-swift-with-playground-1/歡迎關注我的微信公衆號,分享Android 開發,IOS開發,Swift開發和互聯網內容
微信號:APP開發者