Swift 入门|青训营笔记

67 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第12天,今天是8月7日,今天了学习Swift的基本知识,整理了相关的笔记。

基础语法

变量定义:

Swift可以自动推断类型,类型声明可省略

var:定义可变变量var name="cyy";

let:定义不可变变量let age=19;

数组:数组以有序的方式来储存相同类型的值。相同类型的值可以在数组的不同地方多次出现。

数组定义:var class:[String]=["calss1","class2"];

字典:同一类型的key对应一个唯一且同一类型的value

字典定义:var class:[String]:[String]=["name":"class"]

合集:将同一类型且不重复的值无序地储存在一个集合当中

合集定义:var id:class<String>=["name1","name2","name3"]

可选值:nil

可选值定义:

let name: String?//使用?定义可选String类型的name
name = "Tom"//给name赋值
if let name = name as? String {
//判断name是不是String类型
    print(name) // Tom, String类型
}

驼峰命名法:变量名和函数名通过多个单词拼接,单词首字母大写

函数

swift使用func关键字来定义函数,使用->确定返回值的类型,参数名可在命名函数时在参数名前加_ 表示省略,在调用函数时即可省略参数名。

inout参数:表示在参数传递时是引用传递(即实际上是传递地址),调用时在参数前加上&表示引用

类(引用类型)

类可以使用定义常量、变量和函数的语法,可以在类中定义属性、添加方法。

类的继承:子类可以继承父类(超类)的方法,属性和其它特性,不继承于其它类的类,称之为基类。

类的访问:通过类名.属性名来访问类的属性,也可以赋值一个值到类的变量属性中

类的扩展:通过extension对类进行扩展,来增加新的属性、方法和其他特性

协议(protocol)

协议的定义:变量的set和get方法,必须使用var来修饰,函数的定义只需函数名参数和返回值即可,无需函数体

协议的使用:在函数、方法或者初始化器里作为形式参数类型或者返回类型; 作为常量、变量或者属性的类型; 作为数组、字典或者其他存储器的元素的类型。

闭包

闭包优点:利用上下文推断形式参数和返回值的类型; 单表达式的闭包可以隐式返回; 简写实际参数名; 尾随闭包语法。

闭包格式:

总结

今天了解了许多Swift的入门知识,了解了它与OC的不同