Swift是苹果开发的开发语言,与OC在语法上有很多差异,我最近开始用swift开发,最明显的差异是从语法上,由别扭到熟悉,现在要为了将来的开发继续扩宽一下Swift的知识面,其实对于OC的开发人员,Swift上手是很快的,最近除了Swift开发,也接触了Flutter开发和vue开发,在总结知识点的都时候都会记录下来:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一、Swift和OC的区别
1.语言设计:swift是一个现代的变成语言,设计时考虑了安全性和高性能,他语言简洁,支持范型、闭包、错误处理等现代编程特性;oc基于c语言,是一个面向对象的超集,实用动态运行时环境,支持动态类型和消息传递机制
2.性能:通常认为Swift和OC性能相当,或者更快,他是静态类型的,并且编译器可以进行更多的优化;由于动态特性,可能在某些情况下稍逊于Swift,但是大多数应用差不多
3.语法:Swift语法更为简洁、清晰,易于阅读和编写
4.集成性:Swift可以无缝调用OC代码,不需要导入对应的头文件;OC需要借助于Header file导入头文件才可以使用
5.错误处理:swift使用do、try、catch、throw等关键字进行错误处理;OC通常使用异常处理
其他的就不一一赘述了,我觉得主要的区别是这些,别的我觉得差异很小,几乎可以忽略不计
二、Swift基础知识
1.基本语法:使用let声明常量;var声明变量(不用担心,如果你写错了Xcode会提醒你修改)
例如:let a = "1234" //自动识别为String类型
2.数据类型:
Int(整数)、Float(单精度浮点数)、Double(双精度浮点数)、Bool(布尔值)、String(字符串)、Character(字符)、Array(数组)、Dictionary(字典)、Tuple(元组)
别的跟OC差不多,但是字典的写法有所不同,它的写法如下
3.控制流:
if、switch 、for-in、while、do-while
三、函数和闭包
1.定义函数
2.闭包
四、可选类型
1.可用于处理不存在的值
2.使用?声明类型
3.使用if let或者guard let进行解包
五、类和结构体
类(class)和结构体(struck)
都是引用类型,但是类可以继承,class是类的关键字,struck是结构体的关键字
剩下的枚举、协议、扩展、就不一一赘述了,下一节,继续学习细节的东西