Swift基礎部分

2021-07-27 10:32:40 字數 2844 閱讀 4278

swift是一種基於ios,os x和watchos平台的新的程式語言,2016.9已經更新到3.0版本,3.0版本基於前面2個版本做了許多改變(新增或變更或是替換)。

我是乙個從c、c++過度到object c的程式猿,目前swift開發的ios程式漸漸多了起來,有幸可可以自學一下swift 3.0,所有語言差異都基於c、c++、o-c做區別,此次學習記錄參考資料**於:

希望能給幫到有興趣的小夥伴們。

1.新的資料型別-元組(值型別)

//元組

)     //定義初始化乙個網路請求返回值元組

如果你只需要一部分元組值,分解的時候可以把要忽略的部分用下劃線(

_)標記

2.可選型別 /*

可選型別

用法:強制解析

!   

可選繫結

使用可選型別(

optionals

)來處理值可能缺失的情況。可選型別表示:

有值,等於

x*/

letpossiblenumber =

"123"

letconvertednumber =

int(

possiblenumber)

/*因為該構造器可能會失敗,所以它返回乙個可選型別(

optional

)int

,而不是乙個

int。乙個可選的

int

被寫作int?

而不是int

。問號暗示包含的值是可選型別,也就是說可能包含

int值也可能不包含值。(不能包含其他任何值比如

bool

值或者string

值。只能是

int或者什麼都沒有。)*/

/*swift

的nil

和objective-c

中的nil

並不一樣。在

objective-c

中,nil

是乙個指向不存在物件的指標。在

swift

中,nil

不是指標

——它是乙個確定的值,用來表示值缺失。任何型別的可選狀態都可以被設定為

nil,不只是物件型別。*/

/*有時候在程式架構中,第一次被賦值之後,可以確定乙個可選型別總會有值。在這種情況下,每次都要判斷和解析可選值是非常低效的,因為可以確定它總會有值。這種型別的可選狀態被定義為隱式解析可選型別*/

letpossiblestring:

string

? =

"an optional string."

letforcedstring:

string

=possiblestring

! //

需要驚嘆號來獲取值

另一種表示:

letassumedstring:

string

! =

letimplicitstring:

string

= assumedstring

// 不需要感嘆號

3.空合運算子

//空合運算子(

a ?? b

)將對可選型別

a進行空判斷,如果

a 包含乙個值就進行解封,否則就返回乙個預設值

b, a != nil ? a! : b

letdefaultcolorname =

"red"

varuserdefinedcolorname:

string

?  

//預設值為

nil

varcolornametouse =

userdefinedcolorname

?? defaultcolorname

4.區間運算子

//閉區間運算子(

a...b

)定義乙個包含從a到

b(包括a和

b)的所有值的區間 //

半開區間(

a..)定義乙個從a到

b 但不包括

b的區間

forindex in1

...5

letnames = [

"anna"

,"alex"

, "brian"

,"jack"]

letcount =

names

.count

fori in

0..<

count

5.字串處理 //

遍歷字串

forcharacter

in"dog!

swift 基礎部分

一 數值型字面量 整數字面量可以被寫作 1 乙個十進位制數,沒有字首 2 乙個二進位制數,字首是0b 3 乙個八進位制數,字首是0o 4 乙個十六進製制數,字首是0x let decimalinteger 17 let binaryinteger ob10001let octalinteger 0o...

Swift4 0 基礎部分

翻譯能力有限,如有不對的地方,還請見諒!希望對swift的學習者有所幫助 swift是一門新的程式語言,用於ios,macos,watchos以及tvos系統平台上應用程式的開發。儘管如此,如果有c和objective c開發經驗的話,那麼對於swift的許多部分,你將並不陌生。c和objectiv...

swift 函式部分重要筆記

1.函式沒有返回值,會返回特殊的值,叫void.它其實是乙個空的元組,沒有任何元素,可以寫成 2.指定外部引數名,中間以空格分隔。func somefunc externaparametername localparametername int 3.忽略外部引數名,用下劃線 4.預設引數值,func...