Swift基礎知識

姓名:謝艾芳? 學號: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("滿分")

}

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容