使用Playground快速練習(xí)Swift語法 --基本語法

關(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ā)者

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容