swift基礎知識一

import UIKit

var str = "Hello, playground"

//1.變量,常量

let max = 10
var current = 0

if current < max {
    print(current)
}

var x = 0,y = 0.0

//2.類型標注

var message:String
message = "Hello"

//常量和變量的命名可以使任何喜歡的字符,但是,不能包含數(shù)學符號,箭頭,保留的(或者非法的)Unicode 碼位,連線與制表符,也不能以數(shù)字開頭

let pai = 3.14
let 你好 = "中國????"
let ?? = "??"
let ww2 = "heihei"
let bool = false

//3.分號
//并不強求在每一行的末尾添加分號,也可以根據(jù)自己習慣添加,但是有一種情況必須添加,你打算在同一行添加多條獨立語句的時候,必須用分號隔開

let first = 0; var second = "haahhaah";print(first,second)

//4.整數(shù):沒有小數(shù)部分的數(shù)字,包括有符號整數(shù)(正,負,零)和無符號整數(shù)(正,零)
//swift提供 8,16,32,64位有符號和無符號整數(shù)類型
//整數(shù)范圍:可以訪問不同類型整數(shù)的最大值和最小值

let minValue = UInt8.min
let maxValue = UInt8.max //(2的8次方)
let min16 = UInt16.min
let max16 = UInt16.max //(2的16次方)

//Int
//一般情況下,不需要專門指定整數(shù)長度,Int的長度與當前平臺的原生字長相同

let minInt = Int.min //(本機最小字長,64位)
let maxInt = Int.max

//數(shù)值型字面量
//十進制:沒有前綴
//二進制:0b
//八進制:0o
//十六進制:0x

//如果一個十進制數(shù)的指數(shù)為 exp,那這個數(shù)相當于基數(shù)和10^exp的乘積:

print(1.25e2)//1.25*10^2
print(1.25e-2)//1.25*10^-2

//如果一個十六進制數(shù)的指數(shù)為exp,那這個數(shù)相當于基數(shù)和2^exp的乘積:

print(0xFp2) //15*2^2
print(0xFp-2) //15*2^-2 相當于15*1/4

//整數(shù)類型轉(zhuǎn)換,其他類型轉(zhuǎn)換類似

let twoThousand:UInt16 = 2_000
let one:UInt8 = 1
let sum = twoThousand + UInt16(one)

//5.類型別名,typealias
//給現(xiàn)有類型起一個別的名字,當你想要給現(xiàn)有類型起一個更有意義的名字時,類型別名非常有用。

typealias AudioSample = UInt16
var maxAudioS = AudioSample.max

//6.BOOL 布爾值 true false

let yes = true
let no = false

//Bool類型和整型不可以轉(zhuǎn)換,非零即真在swift中是不適用的

//7.元組
//元組把多個值組合成一個復合值,元組內(nèi)的值可以使任意類型,并不要求是相同類型

let httpError = (404,"Not Found")

//httpError的類型是(Int,String),值是(404,"Not Found")
//可以將元組內(nèi)容分解成單獨的常量和變量,然后就可以使用它們了

let (statusCode,statusMessage) = httpError

print("錯誤碼:(statusCode),錯誤信息:(statusMessage)")

//如果你只需要一部分的元組值,分解的時候可以把要忽略的部分用(_)標記

let (justCode,_) = httpError
print("錯誤?? \(justCode)")

//可以通過下標訪問元組中的元素,下標從0開始

print(httpError.0)
print(httpError.1)

//定義元組的時候給單個元素命名,命名后可以通過名字訪問元組元素的值

let httpOK = (code:200,desc:"OK")
print(httpOK.code)
print(httpOK.desc)

//作為函數(shù)返回值的時候,元組是非常有用的

//8.可選類型 optionals
//使用可選類型來處理值可能缺失的情況,可選類型表示:
//1》有值,等于x
//2》沒有值

//例如:String轉(zhuǎn)Int,有可能成功,也有可能失敗

let possibleNum = "123"
let possibleStr = "Hello"
let converNum = Int(possibleNum)
let converStr = Int(possibleStr)

print(possibleNum)
print(possibleStr)

var cc = converNum! + 1
//var dd = converStr! + 1 //報錯

//上面的轉(zhuǎn)換還可以這么寫

let conver:Int? = Int(possibleNum)
let conver2:Int? = Int(possibleStr)
var ee = converNum! + 1
//var ff = converStr! + 1 報錯

//你可以給一個可選變量賦值為nil表示它沒有值

var serverResCode:Int? = 404
serverResCode = nil //現(xiàn)在serverResCode不包含值

//注意:nil不能用于非可選的變量或者常量

//如果你聲明一個可選的常量或者變量但是沒有賦值,它們會自動設置成nil

var surverAnswer:String?

//注意:Swift的nil和OC的nil的意義是不一樣的,OC中的nil是指向不存在對象的指針。在Swift中,nil不是指針,它是一個確定的值,表示值缺失。任何類型的值缺失都可以被設置成nil,而不只是對象類型。

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

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

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