Swift3.0基礎學習

Swift與OC區(qū)別
語句結束不需要寫“;”換行即可(建議書寫)
int,float等類型變成了Int,Float首字母大寫了
Swift中新增與NString 用法基本一致的String
Swift中不在有“[""]”一般都是“.”調用

//定義標識符
//let(常量)/var(變量) 名稱 :類型 = 初始值
//定義常量
let count : Int = 10;
//定義變量
var value : Float = 10.1;
value = 11;//value的類型還是Float
//建議初始化都優(yōu)先使用let,如果是var類型定義為let會有提示

//Swift中創(chuàng)建的標識符如果不指定類型,會默認指定類型

//打臃北ぁ:
print(value)

//Swift中沒有隱式轉化,不會將整形自動轉成浮點型
let C = 23
let F = 32.23
//let CF = C + F 報錯
let CFOne = Double(C) + F
let CFTwo = C + Int(F)

//定義UI控件
let viewOne : UIView = UIView()
let viewTwo = UIView()

viewOne.backgroundColor = UIColor.red

// if的使用
// 1> if后面的()可以省略
// 2> 判斷句不再有非0即真.必須有明確的Bool值:true/false
// 3> 三目運算符沒有改變
let a = 10
if a > 10 {
    print("a大于10")
}else if (a < 10){
    print("a小于10")
}else{
    print("a等于10")
}

//guard語句 與 if語句 正好相反 guard語句是false執(zhí)行 guard語句必須寫在方法里面
func betterA (str : String){
    guard a > 10 else {
        print("a大于10")
        return
    }
}

//Switch的使用
//let sex = 1.0
let sex = "男"
//同if一樣switch后面可以不加()
//case后面不需要break 如果希望case出現穿透度苔,在case語句后加fallthrough
//case后可以判斷 Float類型 字符串類型 判斷區(qū)間
switch sex {
case "男":
    print("男");
    fallthrough
case "女":
    print("女");
default:
    print("其他");
}

let score = 100

switch score {
case 0..<60:
    print("不及格")
case 60..<80:
    print("及格")
case 80..<90:
    print("良好")
case 90...100:
    print("優(yōu)秀")
default:
    print("不應存在的分數")
}


//for循環(huán)沒有改變 while循環(huán)沒有改變
//do-while循環(huán) 變?yōu)?repeat-while循環(huán)
var b = 0
repeat{
    b += 1
    print(b)
} while b < 5
import UIKit

//--------------------------------字符串的使用--------------------------------
//1.定義字符串
let str = "CF hello world"

//2.遍歷字符串中字符
for s in str.characters
{
    print(s)
}

//3.字符串拼接
let strOne = "CF"
let strTwo = "52 Swift"
let strCount = strOne + strTwo
print(strCount)

let age = 18
let name = "CF"
//拼接其他標識符的格式: \(標識符的名稱)
let people = "\(age) name"
print(people)

//格式化拼接字符串
let min = 3
let second = 18
let data = String(format: "%02d:%02d", min,second)
print(data)

//4.字符串的截取
let urlStr = "www.baidu.com"
let header = (urlStr as NSString).substring(to: 3)
let middle = (urlStr as NSString).substring(with: NSMakeRange(4, 5))
let footer = (urlStr as NSString).substring(from: 10)


//--------------------------------數組的使用--------------------------------
//不可變數組定義(let) 可變數組定義(var)
let array = ["one","two","three","4"]
var mutArray = Array<Any>()

//增加元素
mutArray.append("ONE")
mutArray.append("TWO")
mutArray.append("3")

//刪除元素
mutArray.remove(at: 1)

//修改元素
mutArray[1] = "THREE"

//查詢元素
mutArray[0]

//數組合并
let arrayOne = ["1","2","3"]
let arrayTwo = ["a","b","c"]
let arrayThree = arrayOne + arrayTwo

//遍歷數組
for i in 0..<arrayThree.count {
    print(arrayThree[i])
}

for value in arrayThree {
    print(value)
}


//--------------------------------字典的使用--------------------------------
// 注意:在swift中無論是數組還是字典都是使用[],但是如果[]中存放的是元素,編譯器會認為是一個數組.如果[]中存放的是鍵值對,編譯器會認為是一個字典
//不可變字典定義(let) 可變字典定義(var)
let dict = ["name":"CF","age":"20","height":"1.80"]
var mutDict = Dictionary<String, Any>()

//增加元素
mutDict["name"] = "CF"
mutDict["age"] = "20"
mutDict["height"] = "1.80"

//刪除元素
mutDict.removeValue(forKey: "age")

//修改元素
mutDict["height"] = 1.78

//查找元素
mutDict["name"]

//字典遍歷
//遍歷所有的key
for key in mutDict.keys {
    print(key)
}
//遍歷所有的value
for value in mutDict.values {
    print(value)
}
//遍歷所有的key和value
for (key ,value) in mutDict {
    print(key)
    print(value)
}

//字典的合并只能遍歷添加 不能直接“+”


//--------------------------------元組的使用--------------------------------
//Swift中新增數據類型元組,實際上就是數組、字典中妓盲,存放不同的類型元素
let userArray = ["CF", 18, 1,88] as [Any]
userArray[0]
let userDict = ["name" : "CF", "age" : 18, "height" : 1.88] as [String : Any]
userDict["name"]

// 元組的基本寫法
let userInfo = ("CF", 18, 1.88)
userInfo.0
userInfo.1
userInfo.2

// 給每一個元素起別名
let userInfo1 = (name : "CF", age : 18, height : 1.88)
userInfo1.name
userInfo1.age
userInfo1.height

// 別名就是變量的名稱
let (userName, userAge, userHeight) = ("CF", 18, 1.88)
userName
userAge
userHeight


//--------------------------------可選類型的使用--------------------------------
// 浩嫌? 或者 檐迟! 說明是可選類型  
// ?表示為可選類型 码耐!表示為強制解包(如果可選類型無值追迟,強制解包會崩潰)
// 在初始化元素的時候一定要有值 或者?
let myName : String?

myName = "CF"

print(myName as Any) //Optional("CF")
//print(myName!) //CF 強制解包

if myName != nil {
    print("方法一:\(myName!)")
}

if let myName = myName {
    print("方法二:\(myName)")
}

let urlString = "www.baidu.com"
let url = NSURL(string: urlString)
//1.普通寫法
if url != nil {
    let request = NSURLRequest(url: url as! URL)
}

//2.可選綁定
if let url = url {
    let request = NSURLRequest(url:url as URL)
}

//3.可選綁定的簡單寫法
if let url = NSURL(string: urlString){
    let request = NSURLRequest(url: url as URL)
}



//--------------------------------函數的使用--------------------------------
//1.沒有參數沒有返回值
func oneFunc() {
    print("iPhone")
}

oneFunc()

//2.有參數沒有返回值
func valueFunc(value : String) {
    print("打印傳進來的值:\(value)");
}

valueFunc(value: "哈哈")

//3.沒有參數有返回值
func iMessage() -> String {
    return "吃了嗎骚腥?"
}

print(iMessage())

//4.有參數有返回值
func sum(numOne : Int,numTwo : Int) -> Int{
    return numOne + numTwo
}

print(sum(numOne: 23, numTwo: 32))

//函數帶有默認參數
func add(numOne : Int = 11, numTwo : Int = 22) -> Int {
    return numOne + numTwo
}

print(add(numOne: 22,numTwo:33))
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末敦间,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子束铭,更是在濱河造成了極大的恐慌廓块,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件契沫,死亡現場離奇詭異带猴,居然都是意外死亡,警方通過查閱死者的電腦和手機懈万,發(fā)現死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門拴清,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人会通,你說我怎么就攤上這事口予。” “怎么了涕侈?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵沪停,是天一觀的道長。 經常有香客問我,道長木张,這世上最難降的妖魔是什么众辨? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮窟哺,結果婚禮上泻轰,老公的妹妹穿的比我還像新娘。我一直安慰自己且轨,他們只是感情好浮声,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著旋奢,像睡著了一般泳挥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上至朗,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天屉符,我揣著相機與錄音,去河邊找鬼锹引。 笑死矗钟,一個胖子當著我的面吹牛,可吹牛的內容都是我干的嫌变。 我是一名探鬼主播吨艇,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼腾啥!你這毒婦竟也來了东涡?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤倘待,失蹤者是張志新(化名)和其女友劉穎疮跑,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體凸舵,經...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡祖娘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了啊奄。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贿条。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖增热,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情胧辽,我是刑警寧澤峻仇,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站邑商,受9級特大地震影響摄咆,放射性物質發(fā)生泄漏凡蚜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一吭从、第九天 我趴在偏房一處隱蔽的房頂上張望朝蜘。 院中可真熱鬧,春花似錦涩金、人聲如沸谱醇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽副渴。三九已至,卻和暖如春全度,著一層夾襖步出監(jiān)牢的瞬間煮剧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工将鸵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留勉盅,地道東北人。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓顶掉,卻偏偏與公主長得像草娜,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子一喘,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內容