当前位置: 首页>编程语言>正文

swift 文件的变量引用关系 swift变量声明


一、声明和类型推导



Swift一般的声明格式如下:


let(常量)/var(变量) 名称:类型=取值



例如 


let a:Int=60


var x:Float=80.0


此时a为常量,在声明的时候被初始化,该值不能被更改


此时b为变量,在声明的时候被赋值,b可以被重新赋值成类型相符的值



Swift具有类型检查和类型推导的机能,使得定义常量和变量变得更加简单安全


例如


let b=50


var real=57.3


var char=“S”


var sentence=“String”


Swift会根据变量被初始化值的类型来判断变量的类型,b被指定为整型,real被指定为Double型,char为字符串型,sentence为字符串型



★注意:因为苹果的设备和操作系统进入了64位时代,因此浮点数的默认类型为Double型,而由于Swift中的字符和字符串都使用双引号(这与很多其它的编程语言不同),在不指定格式的情况下,默认的类型为字符串类型。如果想使用Float类型或者字符型(Character型被认为是一种特殊的String类型),就需要使用标准的格式声明。




★常量类型存在的意义:常量的设计并不是多此一举,因为Swift的编译器底层会优化储存,因此常量占据的内存空间会比变量小许多,原则上能用常量的数值就用常量。




★注意:常量在声明的时候一定要初始化,原则上变量也是。




二、常见的类型



逻辑:


Bool:取值为true或者false



有符号整数:


较大的数字:Int、Int32、Int64:32位或者64位的值


较小的数字:Int8、Int16:8位或者16位的数字



非负整数:



较大的数字:UInt、UInt32、UInt64:32位或者64位的值



较小的数字:UInt8、UInt16:8位或者16位的数字



小数:


Float、Double:32位或者64位的小数



字符:


Character、String:单个字符或者字符串,使用双引号括起来表示其值



三、查看数值类型的上下限



由于数值类型具有上限和下限,因此Swift提供开发者随时查阅上限和下限的方法,以便及时排除数据溢出的错误



上限:


类型名.max



下限:


类型名.min



例如:


println(Int.max)


println(UInt.min)



四、类型转换



一般情况下,类型转换只能在相近的类型发生,且转换的方向是单向的



Int→Float→Double→String


Character→String



转换的格式:


目标的类型名(需要转换的变量)



如果希望逆向转换,通常需要使用某些类型中特定的方法


例如


let s=”123“


var stringToInt=s.toInt()


因为在逆向转换时,经常需要检查被转换的值对于目标的类型而言是不是例外的值,需要做更多的复杂的检查,因此通常要使用各个类型的特殊方法进行。 并且,转换成功之后的值一般都是可选类型。




五、字符串的拼接和比较




Swift的字符串增加了新特性



使用加号可以把多个字符串的常量或者变量拼接在一起



let hello=”Hello“


var world=”World“


var sentence=hello+” “+world+”!!!!“



此时sentence的值为Hello World!!!!



★:Character类型也可以用于拼接,但是要先转换成String类型




与C语言要使用strcat(),Objective-C要使用Foundation类NSString的方法stringWithFormat不同,Swift使用加号就可以完成拼接,使代码更加简洁




使用数值类型的比较符号可以直接比较字符串,Swift从左至右逐个比较字符串的ASCII值来判断字符串的大小



与C语言要使用strcmp(),Objective-C要使用Foundation类NSString的方法compare不同,Swift的字符串比较代码简单易懂


六、数学运算符




Swift的数学运算符具有新特性



加号和减号:除了可以用于计算,还可以用作单目运算符表示正负



取余运算:可以用于Int类型 和Double类型




七、特殊的数值表示




Int:


二进制:0b开头的0和1组成的数字


八进制:0o开头的0~7组成的数字


十六进制:0x开头的数字


具有分隔符的大型数字:数值可以用下划线进行分隔,Swift在处理数值时会忽略下划线


例如:


let fiveMillion=5_000_000




Double:


科学计数法:有效数字e指数部分


e表示以10为底的指数


例如:


                 -10


4.434×10


表示为:


4.434e-10



八、数值类型的比较



Swift支持多种数值类型的比较,Swift根据各个数值的字面的值进行比较,与数学意义的比较一致



九、值的显示



Swift使用嵌入表示法\(常量名或变量名)来表示值。Swift的print和println方法支持这样的表示,同时也支持使用嵌入表示法拼接的字符串的赋值, 无需printf和NSLog中的格式指定和指定变量输出的顺序




例如


let subject=”It“


let verb=”is“


let sentence= "\(subject) \(verb) a sentence."


此时sentence的值为It is a sentence.



十、类型别名



Swift允许给常用的类型起别名,以提高代码的可读性


格式:


typealias 类型的别名 = 原来的类型



★注意:为增强代码的可读性,为类型起别名后一定要准备相应的文档说明,并与相关的开发人员共享文档


https://www.xamrdz.com/lan/5jk1924554.html

相关文章: