0.Swift 基礎(chǔ)語法

Swift 基礎(chǔ)語法

本文目錄

常量

  • let 關(guān)鍵字定義
  • 只能賦值1次
  • 它的值不要求在編譯時期確定,但使用之前必須賦值1次
let age1 = 10

let age2: Int 
age2 = 20

func getAge() -> Int{
    return 30
}

let age3 = getAge()
  • 常量、變量在初始化之前,都不能使用,如下代碼都是錯誤的
let age: Int
var height: Int

print(age)          // 未進行初始化,直接使用,在編譯期直接報錯
print(height)       // 未進行初始化,直接使用,在編譯期直接報錯

let age
age = 20            // 常量聲明時須直接賦值,由編譯期自動推斷類型,或者僅設(shè)置類型,稍后使用之前賦值一次。

標識符

  • 標識符(如常量名,變量名,函數(shù)名)幾乎可以使用任何字符串
  • 標識符不能以數(shù)字開頭,不能包含空白字符、制表符、箭頭等特殊字符
func ????(){
    print(666)
}

let ?? = "ET"
var ?? = "milk"

常見的數(shù)據(jù)類型

Swift 中數(shù)據(jù)類型,主要分為兩大類。值類型(value type) 和 引用類型(reference type)

主要分類 類別 代表類型
值類型 value type 枚舉 enum Optional
值類型 value type 結(jié)構(gòu)體 struct Bool、Int、Float、Double、Character、
String、Array、Dictionary、Set
引用類型 reference type
class
  • 整數(shù)類型:Int8、Int16、Int32、Int64、UInt8、UInt16、UInt32、UInt64、

  • 在32bit平臺上,Int 等價于 Int32,在64bit平臺上,Int 等價于 Int64

  • 整數(shù)的最值:UInt8.max Int16.min

  • 一般情況下使用Int即可

  • 浮點類型:Float,32位環(huán)境,精度為6位;Double類型在64位環(huán)境下精度為15位

let letFloat: Float = 30.0
let letDouble = 30.0

字面量

字面量就是一些直接寫出來看到的變量或者常量,如下展示了常用的一些字面量

// 布爾
let bool = true

// 字符串
let string = "Swift"

// 字符 (可存儲 ASCII 字符 和 Unicode 字符)。Swift 中字符類型也使用雙引號
let character: Character = "??"

// 整數(shù)
let intDecimal = 17         // 十進制整數(shù)
let intBinary = 0b10001     // 二進制
let intOctal = 0o21         // 八進制
let intHeaxDecimal = 0x11   // 十六進制

// 浮點數(shù)
let doubleDecimal = 125.0               // 十進制 等價于 1.25e2, 0.125 等價于 12.5e-2
let doubleHeaxDecimal1 = 0xFp2          // 十六進制 等價于 15*2^2 = 60(十進制)
let doubleHeaxDecimal2 = 0xFp-2         // 十六進制 等價于 15*2^-2 = 3.75(十進制)


// 數(shù)組, Swift 中數(shù)組可以存放 Any 類型數(shù)據(jù),此處僅為存放整數(shù)
let array: Array = [1,2,3,54]

// 字典, Swift 中字典可以存放 Any 類型數(shù)據(jù),此處僅為存放整數(shù)
let dictionary: Dictionary = ["name":"xiaoming","height":"1.7"]

// 十進制數(shù)字 12.1875 的如下表示方式
// 12.1875   121.875e-1     十進制
// 0xC.3p0                  十六進制

note
整數(shù)和浮點數(shù)可以添加額外的零或者添加下劃線來增強可讀性
如:100_000 、 1_000_000_000.000_1 、000123.456

類型轉(zhuǎn)換

Swift 中的類型都是強類型,不同類型不能進行運算,必須轉(zhuǎn)換成同樣的類型才可以運算

  • 整數(shù)轉(zhuǎn)換
let int1: Int16 = 2_000                         // 2000
let int2: Int8 = 1                              // 1
let int3 = int1 + Int16(int2)                   // 2001
let int4: Int = Int(int3) + Int(int1)           // 4001
  • 整數(shù)/浮點數(shù)轉(zhuǎn)換
let int = 3                         // 3
let double = 0.14159                // 0.14159
let pi = Double(int) + double       // 3.14159
let intPi = Int(pi)                 // 3
  • 字面量之間可以直接進行運算,是因為數(shù)字字面量本身沒有明確的類型
let result = 3 + 0.14159

// let result = 3 + .14159 // Swift 中不允許寫 .14159 代表小數(shù)

元組(Tuple)

元組就是一組元素,使用小括號括起來,元素之間使用逗號分隔。元素之間會形成一個整體,且一一對應(yīng).示例代碼如下

// 聲明一個元組對象,并打印其第一個元素
let Http404Error = (404,"page not found")
print("the error code is \(Http404Error.0)")

// 聲明一個元組等價于元組 Http404Error 這樣會給聲明的元組內(nèi)部元素自動賦值
let (statusCode , errorMsg) = Http404Error
print("the error code is \(statusCode)")

// 聲明一個僅需要一個值的元組等價于 Http404Error,對內(nèi)部元素自動對應(yīng) Http404Error 元素
let (theStatusCode , _) = Http404Error

// 聲明一個帶參數(shù)的元組。
let http200Status = (statusCode: 200,description: "OK")
print("the status code is \(http200Status.statusCode)")

小結(jié)

本文講述了 Swift 語言中基礎(chǔ)的一些語法,作為后續(xù)學(xué)習(xí)的基礎(chǔ),后面會循序漸進學(xué)習(xí)并總結(jié) Swift 中更深層次的知識。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 53.計算字符 在字符串中獲取字符值的數(shù)量, 可以使用字符串字符屬性中的計數(shù)屬性: let unusualMena...
    無灃閱讀 1,257評論 0 4
  • Swift 介紹 簡介 Swift 語言由蘋果公司在 2014 年推出,用來撰寫 OS X 和 iOS 應(yīng)用程序 ...
    大L君閱讀 3,423評論 3 25
  • 作品鏈接:http://www.itdecent.cn/users/1e0f5e6f73f6/top_articl...
    打電話記錯號碼的人閱讀 1,096評論 0 9
  • 揭開赤裸裸的情緒 一輩子不可能展現(xiàn)的態(tài)度躍然紙上 看客都散了 誰還在原地演著那場無人相和的戲
    蝶水月秋千閱讀 174評論 0 0
  • 在寶山很難熬,總是告訴自己周一就能看到她了。 今天一整天上班除了工作交流外沒有跟她好好說過話。 去了天臺1次,走廊...
    Ermao閱讀 282評論 5 1

友情鏈接更多精彩內(nèi)容