每个函数前面都要加上 template <typename T> 类型参数列表声明 ,
起因是每次在子线程调用局部变量时编译器爆红,要求参数改为final数组类型,今天心血来潮特地研究一下为什么必须得用final修饰。
之前看关于volatile的文章好多都没有讲到JMM,在并发编程中了解JMM对我们开发有很大帮助,故自己了总结一下volatile与JMM那密不可分的关系。
1、每创建一个类的实例对象,ARC就会分配一块内存来存储实例信息(实例的类型信息及实例的存储属性) 2、当实例不再被使用时,ARC 释放实例所占用的内存,这确保了不再被使用的实例,不会一直占用内存空间 3、当 ARC 释放了正在...
懒加载属性:是指当第一次被调用的时候才会计算其初始值的属性。在属性声明前使用 lazy 来表示延迟存储属性
值类型被赋予给一个变量、常量或被传递给一个函数的时,其值会被拷贝(在 Swift 中,所有的基本类型:整数、浮点数、布尔值、字符串、数组和字典,都是值类型)...
注意:Swift枚举在创建时未分配默认整数值。spring,summer,autumn和winter不等于隐式0,1,2和3。相反,这些值的类型是已经明确定义好的Season类型
下面例子通过使用几次迭代展示了 sorted(by:)方法的定义和语法优化的方式。每一次迭代都用更简洁的方式描述了相同的功能
这个函数的类型是(Int, Int) -> Int,可以理解为“这个函数类型有俩个Int型的参数并返回一个Int型的值”
常量和变量必须在使用之前声明 使用let关键字声明常量 使用var关键字声明变量