前言:
前段時間大概看了Python的教程,給我最深的感觸,還是另外一門語言給你帶來的對一門語言設(shè)計模式的思考,那些平時習(xí)慣敲出來的語句,都有其設(shè)計的巧妙,這樣對語言的認(rèn)識,有一些更深入的理解
所以是時候來看看swift了,跟著官網(wǎng)上的教程,一步一步看
1.聲明常量與變量
現(xiàn)在跟之前在定義常量變量有很大區(qū)別,之前是什么類型就用什么類型來修飾,現(xiàn)在只分常量變量,常量用let ?變量用var,具體的類型根據(jù)賦值來自動判斷
教程中解釋:不變的值,需要用let來修飾,比如最大登錄數(shù)是不變的,而當(dāng)前登錄數(shù)是可變的,用var
補充一點:關(guān)于標(biāo)點符號的,之前語句結(jié)束后需要用分號結(jié)束,現(xiàn)在不需要了,定義多個值可以這樣:
2.注釋(類型)
定義一個常量或變量兩種方式,一種是直接指定初始值,系統(tǒng)回去推算類型,一種就是如下,沒有給初始值,那就需要指定類型:
定義多個注釋的時候
3.打印print
打印不再使用nslog,用print,格式如下:
基本格式就是,\(...)去轉(zhuǎn)義,包括int等類型,不需要再去記轉(zhuǎn)義字符%@/%ld/%f等
4.注釋
一般使用 // 及 /* ... */與之前沒什么不同,特別注意是,現(xiàn)在的多行注釋可以嵌套注釋,就是多行注釋中可以有已經(jīng)存在的多行注釋:
5.整型,有8 ,16 ,32 ,64位等
一般情況下,不需要去指定int的大小,另:Uint用于無符號整數(shù)類型
6.float浮點數(shù),double是首選
7.運算轉(zhuǎn)換
浮點與整數(shù)變量的運算,在加double();之前是(double)
8.別名
typealias:可以給現(xiàn)有類型取別名
9.布爾值Bool
布爾值只有兩個值,一個true 一個false,這跟oc有不同的地方
10.元組
元組有多個值組成的一個"復(fù)合值",里面的元素可以是任何類型,用小括號括起來,可以用下標(biāo)訪問,如果取了名字也可以用名字訪問,代碼如下:
其他用法:
11.可選類型
可選類型,是接收的數(shù)據(jù)有可能為空,在swift中,數(shù)據(jù)定義是就必須確定是否為空,空的話,需用可選類型表示(?),如下:
注意:
Swift 的 nil與Objective-C不一樣咕娄。在Objective-C中宛官,nil是一個指向不存在對象的指針。在Swift中,nil不是一個指針 - 它是沒有某種類型的值泡嘴。任何類型的可選項都可以設(shè)置為nil,而不僅僅是對象類型。
定義一個變量,如果,它有可能為空的話,就需要定義成可選類型
11.1可選類型的強制展開
一旦您確定可選項確實包含值,您可以通過!在可選名稱的末尾添加感嘆號()來訪問其基礎(chǔ)值仗考。感嘆號有效地說:“我知道這個選擇肯定有價值;請使用它〈逝溃“這被稱為強制展開可選的值:
11.2可選綁定
解釋:當(dāng)Int(possibleNumber)不為nil時,讓actualNumber接收值,并且actualNumber是個局部變量,只作用于第一個大括號中
if后面也可以有多個判斷賦值,用逗號(,)隔開
11.3隱式解析可選類型
隱式解析可選類型,介于可選類型與不可選類型之間,他屬于可選類型,因為,它可以為nil,但是他可以賦值給不可選類型,而不用加"!",或者可選綁定等
相當(dāng)于說,沒錯!我是可選類型,但是不用每次都給我加感嘆號
12.錯誤處理
13.斷言
banben001