關(guān)注Swift好久了妈踊,現(xiàn)在準備好好學(xué)習(xí)一下矾削,使用Playground練習(xí)Swift語法再好不過了碗殷,
但是新建一個Playground肩刃,準備上手的時候還有點不會用祟霍,打開后我專門去找執(zhí)行圖標,
試了遍上面所有得圖標也沒有一個正確的盈包,囧...
后來隨便一個寫了個print語句沸呐,右側(cè)就有結(jié)果了;原來Playground是自動執(zhí)行的...
Swift語言有些語法都跟C++呢燥、Java等語言類似崭添,比如注釋什么
我練習(xí)也不按套路,就從平時編程用到最多的語法開始叛氨。
以下練習(xí)使用的Xcode 7呼渣,使用Swift 2.0語法
定義變量/常量
- 變量
變量/常量的定義可以不指定類型,在賦值時Swift會自動判斷寞埠;
語句結(jié)尾不需要分號屁置;
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里已經(jīng)沒有了,直接使用print吧
- print語句中可以直接使用變量/常量,使用"()"包含變量/常量即可畸裳。
let URL = "http://www.aswifter.com"
print("我的博客地址:\(URL)")
循環(huán)語句
- for in語句
for index in 1...5 {
print(index)
}
1...5 表示一個Range缰犁,表示從1到5淳地。
這個條語句在Playground執(zhí)行結(jié)果就顯示了“5 times”,
我要看詳細結(jié)果怎么辦怖糊,找了半天帅容,終于被我發(fā)現(xiàn)了,如下圖:
普通的for語句伍伤,while語句并徘,do..while語句都與C語言的一樣,略過~~
集合類型
數(shù)組
- 創(chuàng)建數(shù)組
var shoppingList = ["牛奶", "面包"]
//或
var shoppingList2: [String] = []
同樣因為類型自動推斷扰魂,我們可以不指定類型麦乞,
創(chuàng)建空數(shù)組可以用第二種方式。
- 增加元素
//添加一個元素
shoppingList.append("西瓜")
//添加數(shù)組
shoppingList += ["西瓜","蘋果"]
"+="表達式不能直接加上一個字符串劝评,只能拼接數(shù)組姐直。
- 訪問元素
經(jīng)典的下標訪問
var firstItem = shoppingList[0]
同時修改多個元素
shoppingList[0...1] = ["香蕉", "哈密瓜"]
- 刪除元素
let mapleSyrup = shoppingList.removeAtIndex(0)
刪除會返回當前被刪除的元素
- 遍歷數(shù)組
for item in shoppingList {
print(item)
}
Set集合
- 創(chuàng)建Set
var letters = Set<Character>()
//或
var favoriteGenres: Set = ["Rock", "Classical", "Hip hop"]
- 插入刪除元素
favoriteGenres.insert("Jazz")
let removedGenre = favoriteGenres.remove("Rock")
-
集合操作
- 使用union(_:)方法根據(jù)兩個集合的值創(chuàng)建一個新的集合。
- 使用subtract(_:)方法根據(jù)不在該集合中的值創(chuàng)建一個新的集合蒋畜。
- 使用intersect(_:)方法根據(jù)兩個集合中都包含的值創(chuàng)建的一個新的集合声畏。
- 使用exclusiveOr(_:)方法根據(jù)值在一個集合中但不在兩個集合中的值創(chuàng)建一個新的集合。
//集合操作
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]
字典
- 創(chuàng)建字典
var airports: [String:String] = ["TYO": "Tokyo", "DUB": "Dublin"]
//或
var airports = ["TYO": "Tokyo", "DUB": "Dublin"]
//創(chuàng)建空字典
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的插龄,有些函數(shù)已經(jīng)發(fā)生了變化,可以對照看官方教程科展。
本文作者: 陽春面
原文地址:http://www.aswifter.com/2015/07/12/learn-swift-with-playground-1/
歡迎關(guān)注我的微信公眾號,分享Android 開發(fā),IOS開發(fā)料滥,Swift開發(fā)和互聯(lián)網(wǎng)內(nèi)容
微信號:APP開發(fā)者