自學swift(一)語法記錄

一、常量和變量

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

二、聲明類型

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

三、大數位數字區分

let hahaha = 1_000_000               //可以用_區分大數位數字,不影響賦值

四、類型強轉

let a = 3.0
let b = 1
let pi = a + Double(b)               //不能兩個類型不同的數值相加,必須強轉類型一致

五、類型強轉

let 哈哈 = "你并不認識我"              //可以用漢字當變量名
哈哈 + ".我是哈哈"                    //字符串拼接

六、bool

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

//if語句寫法,條件不加括號,而且不為0的數值不表示真,條件必須是表達式或者布爾值
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 , "女神")  //標記類型

八、Optionals可選值

可選值,或者是一個值,或者沒有值,沒有值時為nil

var p:Int
p = 1
p                                            //沒有經過上一步初始化的值,是不可以直接使用的

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


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

if age != nil {
    print("your age is \(age)")              //\(age)   可輸出age值  但會輸出Optional類型提示
    print("your age is \(age!)")             //\(age)   可輸出age值  用感嘆號表示明確有值,進行解包
    //print("your age is" + String(age))     //\(age)   會報錯,不能強制轉換可選項
    print("your age is" + String(age!))      //\(age)   在明確有值的情況下,用!解包就可以強制轉換
} else {
    print("Invalidate userInput")
}


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



let StrA:String? = "test"
StrA                                          //調用會有Optional類型提示
StrA!                                         //解包后調用,沒有Optional類型提示

let StrB:String! = "test"                     //確認有值可直接!解包
StrB


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

推薦閱讀更多精彩內容

  • 本章將會介紹 什么是Swift基礎部分(The Basic) 什么是Swift Swift 是一種新的編程語言,用...
    寒橋閱讀 390評論 0 1
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,896評論 1 10
  • 基礎部分(The Basics) 當推斷浮點數的類型時,Swift 總是會選擇Double而不是Float。 結合...
    gamper閱讀 1,342評論 0 7
  • 女秘書、或者是公司的前提小姐,有著明確的崗位職責---回絕她認為不必要的電話。 在女秘書們的概念里,最不必要的電話...
    宮匠閱讀 798評論 0 0
  • 我出生在一個武術世家,我的爺爺晏云霞自幼習武。我從小就活潑好動,爺爺說,我是一塊練武的好料子。于是我五歲就師從...
    查爾斯王子閱讀 319評論 0 0