姓名:謝艾芳? 學號:16040410073
轉自http://www.lxweimin.com/p/02ab8c6c1f9f
〖嵌牛導讀〗Swift 語言由蘋果公司在 2014 年推出,用來撰寫 OS X 和 iOS 應用程序,Swift語言讓應用開發更簡單、更快、更穩定,確保最終應用有著更好的質量
〖嵌牛鼻子〗Swift基礎知識 Swift的編程技巧和方法
〖嵌牛提問〗如何簡單學習Swift基本編程語言?
〖嵌牛正文〗
Swift 語言由蘋果公司在 2014 年推出,用來撰寫 OS X 和 iOS 應用程序,Swift語言讓應用開發更簡單、更快、更穩定,確保最終應用有著更好的質量更多了解Swift可以去 《The Swift Programming Language》中文版,這次分享給大家是Swift基礎知識,如果你耐心看完本篇文章,并且可以理解Swift的編程技巧和方法,恭喜你可以順利的使用Swift開發了,已經掌握了Swift的基本語法,想要真正從事蘋果開發,還需要在以后的學習中不斷探索和挖掘Swift
在接下來的文章中,直接深入主題,不做過多沒必要的文字說明,提高大家閱讀和吸收能力
一、常量和變量
常量:使用let來定義常量,定義之后不可以修改
變量:使用var來定義變量,定義之后可以修改
在使用過程中建議先定義常量,如果需要修改再修改為變量
import UIKit
let a : Int = 10
var b : Int = 20
b = 30 變量可以修改
// a = 20是錯誤的,常量是不能修改的
二、數據類型
1、類型介紹
Swift中的數據類型也有:整型/浮點型/對象類型/結構體類型等,整型分為有符號整型和無符號整型,例如Int、UInt,浮點型分為Float和Double
// 定義一個Int類型
var m : Int = 10
// 定義一個Double類型
let n : Double = 3.14
2、類型推導
Swift是強類型的語言,Swift中任何一個標識符都有明確的類型,如果定義一個標識符時有直接進行賦值,那么標識符后面的類型可以省略,Swift會自動根據后面的賦值來決定前面的標識符的數據類型,同時可以通過option+鼠標左鍵來查看變量的數據類型
Swift會自動識別a是整數,如果之后再賦值給a一個其他類型(比如浮點型)數值,則會報錯
var a = 20
// 正確寫法
var b = 3.33
b = 6.66
3、基本運算
Swift中在進行基本運算時必須保證類型一致,否則會出錯,相同類型之間才可以進行運算,Swift中沒有隱式轉換
Swift中數據類型的轉化,Int類型轉成Double類型是Double(標識符),Double類型轉成Int類型是Int(標識符)
let a = 12
let b = 3.14
// 錯誤寫法,形同類型之間才可以進行運算
// let c = a + b
// let c = a * b
// 正確寫法,轉換類型進行運算
let c = Double(a) + b
let d = a + Int(b)
三、邏輯分支
1、分支的了解
分支即if、switch、三目運算符等判斷語句,通過分支語句可以控制程序的執行流程
2、if分支語句
和OC不同,Swift判斷句可以不加(),在Swift的判斷句中必須有明確的真假,不再有非0即真,必須有明確的Bool值,Bool有兩個取值:false、true,沒有Yes、NO的使用
例1
確定值存在的判斷
let a = 12
// 錯誤寫法,在Swift的判斷句中必須有明確的真假,不再有非0即真
//if a {
//? ? print("a")
//}
// 正確寫法
if a > 9 {
? ? print(a)
}
例2
可選類型的判斷,判斷如果view有值,則設置背景
let view : UIView? = UIView()
// 錯誤寫法
//if view {
//? ? view.backgroundColor = UIColor.red
//}
if view != nil {
? ? view!.backgroundColor = UIColor.red
}
3、三目運算符
Swift 中的 三目 運算符和 OC 的用法是一樣的
var a = 12
var b = 24
var result = a > b ? a : b
println(result)
4、guard的使用
guard是很重要的,在以后的開發中會經常用到,來判斷該值是否是可選類型,guard在Swift2.0就出現了,與if語句非常類似,它設計的目的是提高程序的可讀性
guard語句必須帶有else語句,當條件表達式為true時候跳過else語句中的內容,執行語句組內容,條件表達式為false時候執行else語句中的內容,跳轉語句一般是return、break、continue和throw
例1
guard用法說明
guard 條件表達式
else {// 條換語句,走這里的都是錯誤的,判斷不符合要求的
? ? break
}
語句組,正確的執行這里
例2
簡單使用guard的用法
func gotToSchool(time:Int) -> Void {
? ? ? ? guard time > 6 else {
? ? ? ? ? ? print("去上學")
? ? ? ? ? ? return
? ? ? ? }
? ? ? ? print("不去上學")
? ? }
gotToSchool(time: 5)
5、switch分支
Switch作為選擇結構中必不可少的語句也被加入到了Swift中,只要有過編程經驗的人對Switch語句都不會感到陌生,蘋果對Switch進行了大大的增強,使其擁有其他語言中沒有的特性
基本用法和OC用法一致,switch后可以不跟(),case后可以不跟break(默認會有break)
例1
switch對整數的判斷
let sex = 0
switch sex {
case 0 :
? ? print("男")
case 1 :
? ? print("女")
default :
? ? print("其他")}
例2
一個case判斷中,可以判斷多個值,多個值以,隔開
let sex = 0
switch sex {
case 0, 1:
? ? print("正常人")
default:
? ? print("其他")
}
例3
希望出現之前的case穿透,則可以使用關鍵字fallthrough
let sex = 0
switch sex {case 0:
? ? fallthrough
case 1:
? ? print("正常人")
default:
? ? print("其他")
}
Switch支持多種數據類型
① 浮點型的switch判斷
let f = 3.14
switch f {
case 3.14:
? ? print("π")
default:
? ? print("not π")
}
② 支持字符串類型
let m = 5
let n = 10
var result = 0
let opration = "+"
switch opration {
? ? case "+":
? ? ? ? result = m + n
? ? case "-":
? ? ? ? result = m - n
? ? case "*":
? ? ? ? result = m * n
? ? case "/":
? ? ? ? result = m / n
default:
? ? result = 0
}
③ switch支持區間判斷
開區間:0..<10 表示:0~9,不包括10
閉區間:0...10 表示:0~10
let score = 88
switch score {
case 0..<60:
? ? print("不及格")
case 60..<80:
? ? print("幾個")
case 80..<90:
? ? print("良好")
case 90..<100:
? ? print("優秀")
default:
? ? print("滿分")
}