自學(xué)swift(一)語(yǔ)法記錄

一、常量和變量

let maxNum = 1000                    //常量
var sum = 999                        //變量
sum = 10000                          //可改變變量的值

二、聲明類型

var website:NSString                 //聲明類型
website = "my name is ..."           //賦值
print(website)

三、大數(shù)位數(shù)字區(qū)分

let hahaha = 1_000_000               //可以用_區(qū)分大數(shù)位數(shù)字,不影響賦值

四、類型強(qiáng)轉(zhuǎn)

let a = 3.0
let b = 1
let pi = a + Double(b)               //不能兩個(gè)類型不同的數(shù)值相加,必須強(qiáng)轉(zhuǎn)類型一致

五、類型強(qiáng)轉(zhuǎn)

let 哈哈 = "你并不認(rèn)識(shí)我"              //可以用漢字當(dāng)變量名
哈哈 + ".我是哈哈"                    //字符串拼接

六、bool

let father = true                   //bool值必須是小寫(xiě)的true,false
let mother = false

//if語(yǔ)句寫(xiě)法,條件不加括號(hào),而且不為0的數(shù)值不表示真,條件必須是表達(dá)式或者布爾值
if 3 + 5 == 8 {
    print("mother")
}
else if father
{
    print("father")
}

七、元組

let connetResult = (404, "NOT FOUND")               //元組 
let (connrctState, ResultStr) = connetResult        //給元組中值起名,方便提取
connetResult.0                                      //提取元組中值
ResultStr                                           //提取元組中值


let registResult = (isRegisterSucces : true , nickName : "花花" , sex :"女")
                                                    //直接給元組值起名
registResult.isRegisterSucces                       //提取元組中值
registResult.nickName                               //提取元組中值
registResult.2                                      //提取元組中值


let loginReult = (true, "女神")
let (isLogin, _ ) = loginReult                      //可以用_忽略不想提取的值
if isLogin {
    print("登錄成功")
}


let loginResult : (Bool , String) = (true , "女神")  //標(biāo)記類型

八、Optionals可選值

可選值,或者是一個(gè)值,或者沒(méi)有值,沒(méi)有值時(shí)為nil

var p:Int
p = 1
p                                            //沒(méi)有經(jīng)過(guò)上一步初始化的值,是不可以直接使用的

var  imOptional:Int?                         //定義可選值
imOptional                                   //可直接使用
imOptional = 12                              //也可初始化一個(gè)值


//let userInput = "abc"                                      
let userInput = "18"                         //userInput為用戶輸入的年齡
var age = Int(userInput)                     //age是提取輸入值能否轉(zhuǎn)成int行,返回可選值類型

if age != nil {
    print("your age is \(age)")              //\(age)   可輸出age值  但會(huì)輸出Optional類型提示
    print("your age is \(age!)")             //\(age)   可輸出age值  用感嘆號(hào)表示明確有值,進(jìn)行解包
    //print("your age is" + String(age))     //\(age)   會(huì)報(bào)錯(cuò),不能強(qiáng)制轉(zhuǎn)換可選項(xiàng)
    print("your age is" + String(age!))      //\(age)   在明確有值的情況下,用!解包就可以強(qiáng)制轉(zhuǎn)換
} else {
    print("Invalidate userInput")
}


//Optional Binding
if let userAge = Int(userInput)
{
    print("your age is \(userAge)")           //該方式直接輸出無(wú)Optional類型提示
}



let StrA:String? = "test"
StrA                                          //調(diào)用會(huì)有Optional類型提示
StrA!                                         //解包后調(diào)用,沒(méi)有Optional類型提示

let StrB:String! = "test"                     //確認(rèn)有值可直接!解包
StrB


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

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

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