玖叶教程网

前端编程开发入门

Swift学习笔记——基本类型(swift 类属性)

先唠叨几句,关于语言的类型系统往往被开发者轻视,实际上每种开发语音的类型系统都至关重要,甚至是一种语言的核心。比如C++,关于class,就能写一本书,比如Go语言的接口类型就是一种优越的语言特性。而且深刻理解基本类型的特点也会让开发者在工作中少犯错误。

闲话少叙,继续学习。

常量和变量:

常量的声明使用关键字 let, 变量的声明使用 var

如:let v1 = "我是常量"

var v2 = "我是变量"

常量不可变,变量可变,如上例子 令 v1 = "常量变化了" ,将报错;v2 = "变量变化了",就可以改变变量的值。

类型标注:

上面的例子没有标明常量和变量的具体类型,例如我要声明一个字符串类型的变量 v2:

var v2:String ,:表示是......类型的意思。可以同时声明多个变量并标注,var v1,v2,v3:Double,这样v1,v2,v3三个变量都是Double类型

类型的命名:

Swift中的类型命名支持Unicode字符,而且也支持 使用保留关键字相同命名的变量名,只要使用反引号 (`` ) 将关键字包围即可,但是实际开发中几乎不会这么做,所以这里就不多说了。

整数 Int,与操作系统位数相关,32位操作系统上占32位即4字节,64位系统上占64位即8字节

var v0,v1:Int

v0 = 12

v1 = 13

var result = v0 + v1//result = 25,自动推断为Int类型

Swift还提供了8,16,32,64位的有符号和无符号整数,以8位为例,有对应类型有符号8位整数Int8,无符号整数UInt8。

可以使用整数类型的min和max属性获取对应类型的最大值和最小值,例如:let minVal = UInt8.min或者let maxVal = UInt8.max, 就可以得到8位整数的最大值(255)和最小值(0)。

浮点数 Float 表示32位浮点数,Double表示64位浮点数,Double表示的精度更大。

类型推断,在不指定变量或常量类型时,Swift会帮助你为变量选择合适的类型,基本原理就是检查赋给变量的值,由于类型推断的存在,你很难将一中类型的变量赋值给另一种类型(不包括后面说的数值类型转化:) ),如Int类型赋给String类型,因此说Swift语言是类型安全的。

类型推断可以方便开发者,不需要指定变量的类型,例如 let pi = 3.1415926535,pi会被推断为Double类型,Swift在推断浮点数时总是选择Double类型。

数值类型的转化

var v1:UInt16 = 10

var v2:UInt8 = 20

var sum = v1 + (UInt16)v2

上面的例子由于v1和v2类型不一致,不能直接相加,需要将v2转化为UInt16再做加法。计算的结果sum也是UInt16类型。 type(value),是调用了Swift的构造器并传入一个初始值,在语言内部UInt16是一个构造器,可以接受一个UInt8类型的参数。简单来说就是一个构造函数的显示调用,因此不是任何类型都可以传入的,要看语言支持的构造类型。

var v1 = 1

var v2 = 0.11111

var v3 = (Double)v1 + v2

这个例子就不多说了,试着分析一下吧...

布尔值,Bool有两个可能的取值true和false,布尔值一般用于条件判断语句,Swift中的布尔值和objective-c有较大区别。

如,var i:Int = 3 ,在oc中使用if语句(if i)会当做真值处理,但是在Swift中会编译报错 ,但是对于 i==3这种判断(if i==3 ),则会为真值。

输出方法 print ,字符串插值方法输出字符串。下面举个例子就懂了。

var v1 = "hello"

print(\(v1) , world) //输出为 hello world

一些细节:

注释方法,同OC中一样,两种注释方法 // 单行注释 /*...*/ 多行注释

分号的用处,一般单个语句不用结尾加分号,但是如果想在一行写多条语句则可以用分号分割,举个列子: var v1 = 1 ; var v2 = 2

类型别名:typealias newtype = UInt16,这样你就可以使用newtype当做UInt16类型了,C,OC中的typedef也可以实现同样的功能

就到这里吧,下篇继续讲类型系统中的,集合,数组,字典,元组等。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言