前言:
本篇为视频学习笔记
标识符
- ★ 标识符(比如常量名、变量名、函数名)几乎可以使用任何字符
- ★ 标识符不能以数字开头,不能包含空白字符、制表符、箭头等
常见数据类型 (只有两大类值类型/引用类型)
如下:
以前我们在编写OC代码的时候Int是基本数据类型 int age = 10; 认为比较简单,一定义完就分配4个字节给它age,说明了age只占4个节。再思考一下,在swift中你突然来一个Int是结构体,结构体就意味着非常复杂,里面包含各种成员,那么所占用的存储空间不就很大吗?
举个例子创建一个结构体:
struct Date { var year: Int var month: Int var day:Int }
我们理解的,Date结构体占用多少内存,取决于结构体内部成员总共占用多少内存。假设一个Int占用4个内存,那么Date占用 4 X 3 = 12个内存。所以,Int结构体占用多少字节呢,会不会很大呢,是不是跟Date结构体一样把所有成员占用的内存加起来呢?其实,这些,不用我们去考虑。swift内部肯定是有优化的,表面上看上去它是一个结构体,它里面占用内存的,也许不会有那么多个,可能只有一个,甚至没有。不要认为它一旦定义为结构体效率就低、占用空间就大,不是这样子的,一个结构体占用空间大不大,取决于它里面有多少东西。
后边数表示占用多少个字节
如果我们要求某一个数据类型的最大值,比如说UInt8.max怎么办呢?
可以发现打印出来是255,也就是说如果是无符号的Int,而且是只占用一个字节的,那么它的取值范围为0~255。
---如果是 Int16.min
发现了定义成结构体,后边可以带属性。Int内部就会丰富多彩,以后Int类型就可以调用一些方法了。不像以前的 int age = 10;int 后边绝对不会带有任何属性,它只是基本数据类型。在以前的认知中,只有对象后面才会带属性,但是在swift里面不是这样的,在swift方法是结构体,也是可以调用方法的。