★学习笔记:《iOS高级:Swift入门精讲①》第一节 Swift编程-01➡09-标识符

前言:

本篇为视频学习笔记

标识符

  • ★ 标识符(比如常量名、变量名、函数名)几乎可以使用任何字符
  • ★ 标识符不能以数字开头,不能包含空白字符、制表符、箭头等

常见数据类型 (只有两大类值类型/引用类型)

如下:

以前我们在编写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方法是结构体,也是可以调用方法的。

你可能感兴趣的:(★学习笔记:《iOS高级:Swift入门精讲①》第一节 Swift编程-01➡09-标识符)