一抖拦、常量和變量
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值必須是小寫的true机杜,false
let mother = false
//if語(yǔ)句寫法帜讲,條件不加括號(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è)值腋舌,或者沒有值盏触,沒有值時(shí)為nil
var p:Int
p = 1
p //沒有經(jīng)過上一步初始化的值,是不可以直接使用的
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)") //該方式直接輸出無Optional類型提示
}
let StrA:String? = "test"
StrA //調(diào)用會(huì)有Optional類型提示
StrA! //解包后調(diào)用来破,沒有Optional類型提示
let StrB:String! = "test" //確認(rèn)有值可直接!解包
StrB