Swift语法学习

1.Swift既支持面向过程的编程机制,也支持面向对象的编程方式。(c++支持泛型编程,mark泛型编程)

2.Swift提供了隐式的程序入口。

3.Swift不支持原生的指针运算?

4.Swift是编译型语言。

5.Swift程序源代码中可以插入任意多个空白字符,空白字符包括空格、Tab、垂直Tab、退格、换行和换页。

6.Swift不允许直接将可执行代码放在类的定义中,允许直接定义函数。

7.对于只有Swift源代码的程序,该源程序中既可以定义一个或多个函数,也可以定义一个或多个类(还可以定义多个枚举、结构体),还可以直接放一行或多行可执行代码———在单个的Swift源程序中,这些可执行代码将作为Swift程序的入口。

8.对于包含多个Swift源代码的程序,文件名为main.swift的第一行可执行代码将作为Swift程序的入口。

9.Playground只是一个简单的测试环境,主要用于快速测试Swift语法功能和验证API功能。

10.框架,就是一系列函数、类等程序单元的集合,它们可系统地提供某一方面的功能。

11.文件的缩略信息图标为C的是类,图标为M的是方法,图标为Pr的是协议,图标为f的是函数

12.Swift的多行注释可以嵌套。

3.Swift语言区分大小写。

14.Swift是强类型的语言,要求所有的变量和常量必须先声明,声明时要么通过“ :类型”的形式显式指定该变量的类型,要么为该变量指定初始值——swift编译器将会根据该初始值确定变量的类型。

15.Swift允许一次声明多个变量,而且不需要多个变量具有相同的类型。

var a = 20,d:string,c = "swift"

16.Swift整型有以下几种类型:Int8、Int16、Int32、Int64、Int(整型长度与平台的原声字长相同)

17.无符号整型的最大取值是相应的有符号整型的最大取值的2倍加1

18.程序可通过访问不同整数类型的min和max属性来获取对应类型的最小值和最大值。

print(Int16.min)

print(Int16.max)

19.为了提高数值(包括浮点型)的可读性,Swift允许为数值(包括浮点型)增加下划线作为分隔符,也可以在数值前面添加额外的零。

20.Swift还提供了3个特殊的浮点型数值:正无穷大、负无穷大和非数。例如,使用一个正数除以0.0将得到正无穷大数值,使用一个负数除以0.0将得到负无穷大数值,0.0除以0.0或对负数开方将得到一个非数。(所有正无穷大数值都相等,所有负无穷大数值都相等,非数不与任何数值相等,甚至和非数自己都不相等)

21.只有浮点数除以0.0才可以得到正无穷大数值或负无穷大数值,但如果使用整型值除以整数0将会引起编译错误:division by zero(除0错误)。

22.Swift是一门强类型语言,数值计算过程中,必须统一数据类型,即进行显式的强制类型转换。当进行强制类型转换时,应该尽量向表数范围大的数据类型转换,这样程序会更加安全。Swift语言各种数值型的表数范围由小到大的顺序为:Int8->Int16->Int32->Int64->Float->Double.

23.在Swift语言中,Bool类型的值只能是true或false,不能用0或者是非0来代表。其他数据类型的值也不能转换成Bool类型。Bool类型的值主要用作旗标来进行流程控制。

24.元组(tuple)使用圆括号把多个值组合成一个复合值,元组内的值可使用任意类型,元组并不要求元组内的值具有相同的类型。为元组变量赋值时,必须为所有成员都指定值。元组的成员可以再次是元组。

25.Swift允许通过下标来访问元组的单个元素,还允许将元组的元素拆分成单个的常量或变量。如果程序只需要部分元组的元素,分解的时候可以使用下划线作为被忽略部分的占位符。

eg:print("test元组的第2个元素的第1个元素为:\(test.1.0)")

let(swift,oc,lua,_) = score

print("Swift 成绩:\(swift)、oc 成绩:\(swift)、lua 成绩:\(swift)")

26.定义元组时可使用key:value对的形式,相当于为元组的每个元素都指定名字。

27.元组其实是一种非常实用的数据类型,可以非常方便地记录数据表的一条记录。元组、元组类型还广泛应用于Swift函数声明,Swift函数支持多个返回值,这多个返回值也是以元组形式返回的。

28.在任何已有类型的后面紧跟?即可代表可选类型,可选类型的变量可用于处理“值缺失”的情况。Swift使用nil代表“值缺失”。

29.Swift中的nil与Objective-C中的nil完全不同,在Objective-C中,nil代表一个并不存在的对象指针;而在Swift中,nil并不代表指针——它是一个

30.Swift中结构体和类的主要区别是:1⃣️结构体不支持继承(自然也不支持类型转换了);2⃣️结构体不支持定义析构器;3⃣️结构体是值类型,而类是引用类型;

31.只有类的实例才能被称为对象;枚举、结构体的实例只能被称为实例,不能称为对象。

32.枚举类型:Swift的枚举不像C语言那么简单,也不像Java的枚举(Java的枚举是一种特殊的类),Swift的枚举是一种完全重新定义的类型。

33.与所有语言的枚举类型类似,Swift中的枚举用于管理一组有限的值的的集合。

34.Swift的枚举具有很多面向对象的特征,Swift的枚举支持计算属性,Swift的枚举支持实例方法和类型方法,Swift的枚举支持定义构造器来完成初始化,Swift允许通过扩展来增强原有枚举的功能,也允许枚举遵守指定协议来提供标准的功能。

35.typealias--类型别名

36.Swift不仅提供了面向过程的编程支持,也提供了全面的面向对象的编程支持,与普通面向对象的编程语言(只支持定义类)不同,Swift可以定义枚举、结构体、类3中面向对象的类型。其中使用枚举、结构体定义的变量是值类型,使用类定义的变量则是引用类型。

37.面向对象编程就是以客观世界为编程模型。客观世界的对象总有状态和行为,面向对象编程则为对象提供了属性和方法,其中属性用于描述对象的状态,而方法则用于描述对象的行为。

38.面向对象编程的典型3大特征:1⃣️封装:是指把对象的状态数据、实现细节隐藏起来,然后再暴露合适的方法允许外部程序改变对象的状态,这些暴露的方法可以保证修改之后对象的完整性,有private、internal和public等访问权限控制符;2⃣️继承:子类继承父类,即可获得父类定义的属性和方法。单继承支持:每个子类最多只能有一个直接父类。Swift也通过协议弥补了单继承灵活性不足的缺点。3⃣️多态:多态可以充分利用面向对象的灵活性。

39.在Java、Ruby中,对象和实例是完全相同的。但在Swift中,实例和对象是不同的,只有类的实例可以被称为对象,而结构体和枚举的实例则只能称为实例,不能称为对象。

40.

41.

42.

43.

44.

45.

46.

47.

48.

49.

50.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容