//Int Float
let a:Int = 12;
//let var
let str="hello"
//str.characters.count長(zhǎng)度
"123\(str)3456"
let str2=String(format:"%02d:02d",1,2)
let str3=String(format:"%02d-%02d",arguments:[1,2])
print(str2)
print(str3)
//str2.substringToIndex(<#T##index: Index##Index#>)
//字符串其他操作
//轉(zhuǎn)換
let str4:NSString=str2 as NSString
//不可變數(shù)組Array
let array1 = ["A","2","3"];
//initWint? /? init在swift轉(zhuǎn)化()
let array2=[String]()
//數(shù)組元素個(gè)數(shù).count
//數(shù)組便利 for-in(明確指出數(shù)組類型)
for temp in array1 as [String] {
print(temp.characters.count)
}
//元組便利
for (index,value)in array1.enumerate()
{
print("index=\(index),value=\(value)")
}
//可變數(shù)組
var mutabArray=[String]()
mutabArray.append("我")
mutabArray.append("擦")
//mutabArray.append("我靠")
//mutabArray.removeAll()
//字典Dictionary
let dict=["key1":"value1","key2":"value2","key3":"value3"]
print(dict["key1"])
//for-in
for(tempkey,tempValue)in dict
{
print("index=\(tempkey),value=\(tempValue)")
}
//可變字典(合并)
var dict3=["key":"value"]
for (tempKey,tempvalue)in dict{
//如果key存在的則是一個(gè)更新建值對(duì)操作较剃。。技健。不然是增加鍵值對(duì)
dict3[tempKey]=tempvalue
}
//如果一個(gè)值可能為nil? 那么這個(gè)值可選? 用写穴?標(biāo)識(shí)
//? 可選類型不能直接使用,必須用強(qiáng)制解包雌贱,? 啊送!強(qiáng)制解包? 對(duì)nil強(qiáng)制解包,會(huì)崩潰
/*
var a1 : String?
a1 = "12345"
//(a1??"123")判斷如果為nil就為a1? 否就為123
print(a1!.characters.count)
*/
//if沒有非零就真? 只有true? false? 兩種情況
/*
let temovalue=10
if temovalue>5{
print("tempvalue>5")
}
*/
//可選類型條件分支? ? let常量? var變量
let str1 : String? = "hello"
//(1)? if-let? 是對(duì)可選類型判斷欣孤,如果可選類型為nil馋没,則不執(zhí)行代碼塊,如果不為空則用tempStr接受可選
if let tempStr = str1
{
print(tempStr)
}
//(2)if-let-where跟if-let相似降传,where是對(duì)面定義局部變量在做判斷
if let tempStr=str1 where tempStr.characters.count>2
{
print("")
}
//guard-let-else()
//如果為可選類型str為nil披泪,則執(zhí)行code代碼塊,最后return搬瑰,不為nil就強(qiáng)制解包賦值tempStr這樣在{}外面就可以使用tempStr
//duard let tempStr=str else{
//code
//return
//}
//switch不局限判斷整形,可以是多種型? 小括號(hào)省略控硼,泽论,,大括號(hào)不能case后面至少有一條執(zhí)行語(yǔ)句?ㄇR磴病!? 并且case后面可以省略幔妨,break可以不寫,default要寫
let f=3.2
switch f {
case 3.0:
print("=====3.0")
case 3.1:
print("====3.1")
case 3.2:
print("3.2")
default:
print("default")
}
/*現(xiàn)在遺棄
for (var i=0;i<5;i++){
}
*/
//for var i = 0;i < 5; i++ {
//
//print(i+1)
//
//}
//? 0鹦赎。。误堡。古话。5[0,5]
/*
for i in 0..<5{
print("i=\(i)")
}
*/
//枚舉(枚舉可以關(guān)聯(lián)浮點(diǎn)型,字符串)
//關(guān)聯(lián)如果是整形Int锁施,會(huì)默認(rèn)遞增上去陪踩,不是Int,必須每個(gè)關(guān)聯(lián)上
enum Month{
case January
case February
case March
case April
}
//let month = Month.January? 明確變量就就可以直接點(diǎn) .枚舉? ? 沒有默認(rèn)的關(guān)聯(lián)詞
let month:Month = .February
var month1 = Month.January
month1 = .February
switch month{
case .January:
//? ? print("hashValue=\(month.hashValue),rawValue\(month.rawValue)")
print(month)
case .February:
print(month)
case .March:
print(month)
case .April:
print(month)
}