由于公司需要仓洼,我將從今天開始上車鞭衩,學習Swift4.0編程語言開發(fā)苛白。
第一講主要文字與代碼上傳至GitHub
第一講主要包括內容如下:
第一節(jié)Swift基礎類型體系
Swift編程語言只包含4種類型即1:枚舉(enum)2:結構體(struct)3:類(class)4:函數(shù)類型(functiontypes)
其中枚舉和結構體屬于值類型(ValueTypes)焰檩,類和函數(shù)屬于引用類型(referencetypes)
除此之外倾芝,還有一個隊數(shù)據(jù)組織的容器--元組(tiple)
Swift是一門安全性語言讨勤。Swift編程語言可以給任何一個可選的(Optional)類型置空然而,java晨另、OC潭千、C++等,只能給指針或者引用類型的對象置空借尿,而不能隊值得對象置空
第二節(jié)變量對象
變量對象定義:在Swift中刨晴,我們通過關鍵字var聲明一個對象稱為變量對象,簡稱變量(variable)。
變量的使用:1.如果一個變量的對象是一個結構體或者是枚舉(即類型變量)路翻,那么該對象的自身值允許改變狈癞,切其成員變量也能被修改。
2.如果一個變量的對象是一個類類型茂契,那么該對象引用可以修改蝶桶,且該對象的實例中的所有成員變量也能被修改。
var a = 10 //聲明一個變量a初始值為10
a =100//a被修改
//聲明一個簡單的結構體
structS{
vars =0//聲明一個成員變量s
}
varb =S()//b聲明一個S結構體的變量
b.s=10//將b的成員變量s修改成10
b =S()//這里b又被賦給了一個新的S結構體變量
第三節(jié)常量對象
常量對象定義:在Swift中掉冶,我們通過關鍵字let聲明的對象為常量對象真竖,簡稱常量(constant)
常量對象的使用:
1.如果一個常量對象對的類型為一個枚舉或結構體(即類型變量)類型脐雪,那么,該對象的值及其成員變量的值都不允許被修改疼邀。
2.如果一個常量對象的類型是一個類類型喂江,那么該對象引用不能被改變,但是他所引用的對象實例中的成員變量允許被修改旁振。
letleta =100//聲明一個整數(shù)對象為一個常量
//下面這行代碼會出錯
// leta = 10
//聲明一個簡單的結構體
structLetS{
vars =10
}
letletB =LetS()
//下面這行代碼會出錯
//letB = LetS();
//下面這行代碼會出錯
//letB.s = 100
//定義一個簡單的類
classc{
varc =0
}
letletC =c();
letC.c=10//這句代碼是沒有問題的這里對c所引用的對象的成員進行修改時允許的
//下面這行代碼會出錯
//letC = c();//如果一個常量對象的類型是一個類類型获询,那么該對象引用不能被改變。
另外拐袜,Swift中除了一般整數(shù)吉嚣、浮點數(shù)、字符串蹬铺、數(shù)組字典等結構體類型的字面量屬于常量之外尝哆,結構體與枚舉類型直接構造出的對象也屬于常量,我們不能直接對由這些類型構造的對象實例做實例屬性的修改
structMyObject{
vara =0, b =1
}
varobj =MyObject()
obj.a+= obj.b//這個語句沒有問題甜攀,因為obj是一個變量
//下面這行代碼會出錯
//MyObject().a += 10//直接用結構體類型構造出的對象是不可修改的
//而對于類類型直接創(chuàng)建的對象實例則可對其實例屬性進行修改
//eg:
classTest{
vara =0, b =1
}
Test().a+=Test().b
Swift中允許一個常量先被聲明再被初始化秋泄,但是只能初始化一次。如果這個常量被初始化之后规阀,再給其賦值恒序,編譯器就會報錯。
letIntA :Int
letIntB =10, IntC =20
IntA = IntB + IntC//這里為IntA初始化谁撼,沒有問題