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...