swift 基本类型

来源:互联网 发布:知乎 三十岁 编辑:程序博客网 时间:2024/05/16 07:23

Swift是一门开发iOS,macOS,watchOS和TVOS应用的语言,然而,如果你有c或者oc开发经验的话,你会发现swift的很多内容都是你熟悉的。

swift包含了c和oc上所有基础数据类型,int表示整数型值;double和float表示浮点型值;BOOL是布尔型值;string是文本型数据。swift还提供了三个基本的集合类型,Array,set和Dictionary。

就像c语言一样,swift使用变量来进行存储并通过变量名来关联值。在swift中,广泛的使用着值不可变的变量,他们就是常量,而且比c语言的常量更强大。在swift中,如果你要处理的值不需要改变,那使用常量可以让你的代码更加安全并且更清晰的表达你的意图。

除了我们熟悉的类型,swift还增加了oc中没有的高阶数据类型比如元祖。元祖可以让你创建或者传递一组数据,比如作为函数的返回值,你可以用一个元祖可以返回多个值。

swift还增加了可选类型,用于处理值缺失的情况。可选表示“那有一个值,并且它等于x”或者“那没有值”。可选有点像在oc中使用nil,但是他可以用在任何类型上,不仅仅是类,可选类型比oc中的nil指针更加安全也更具有表现力,他是swift许多强大特性的重要组成部分。

swift是一门类型安全的语言,这意味着swift可以让你清除的知道值的类型。如果你的代码期望得到一个string,类型安全会阻止你不小心传入一个int。同样的如果你的大吗期望得到一个string,类型安全会阻止你意外传入一个可选的string。类型安全可以在帮助你的开发阶段尽早的发现并修正错误。

常量和变量

常量和变量把一个名字和一个指定类型的值关联起来。常量的值一旦设定就不能改变,而变量的值可以所以更改。
声明常量和变量
常量和变量必须在使用前声明,用let来声明常量,用var来声明变量。
let x = 10var y = 0

类型标注

当你声明常量或者变量的时候可以加上类型标注,说明常量或者变量中药存储的值的类型。如果要添加类型标注,需要在常量或者变量名后面加上一个冒号和空格,然后加上类型名称。
这个例子给message变量添加了类型标注,表示这个变量可以存储string类型的值:
var welcome: String
声明中的冒号代表着“是...类型”,所以这行代码可以被理解为:
“声明一个类型为string,名字为welcome的变量”
“类型为string”的意思是“可以存储任意string类型的值”

注释

swift中的注释与c语言的注释非常相似。单行注释以双正斜杠//最为起始标记。
也可以进行多行注释,其起始标记为单个正斜杠后跟着一个星号/*,终止标记为一个星号后跟随单个正斜杠*/。
与c语言多行注释不同,swift的多行注释可以嵌套在其他的多行注释之中。你可以先生成一个多行注释块,然后在这个注释块中再嵌套成第二个多行注释。终止注释时先插入第二个注释块的终止标记,然后再插入第一个注释块的终止标记。通过运用嵌套多行注释,可以快速方便的注释掉一大段代码。

分号

与大部分编程语言不同,swift并不强制要求你在每条语句的结尾处使用分号,当然,可以按照习惯添加分号。有一种情况下必须要用分号,即打算在同一行内写多条独立的语句。

类型别名

类型别名就是给现有的类型定义另一个名字。你可以使用typealias关键字来定义类型别名。当你想要给现有的类型起一个更有意义的名字时,类型别名非常有用。假设你正在处理特定长度的外部资源的数据:
typealias AudioSample = uint16

元组

元组把多个值组合成一个复合值。元组内的值可以使任意类型,并不要求是相同类型。
下面这个例子中,(404,"Not Found")是一个描述http状态码的元组。http状态吗是当你请求网页的时候web服务器返回的特殊值。如果你请求的网页不存在就会返回一个404 Not Found状态码。
let http404Error = (404,"Not Found")
(404,"Not Found")元组把一个int值和一个string值组合起来表示http状态吗的两个部分:一个数字和一个人类可读的表述。这个元组可以被描述为“一个类型为(int,string)的元组”。
可以将一个元组的内容分解成单独的常量和变量,然后你就可以正常使用它们了:
let (statusCode,statusMessage) = http404Errorprint("\(statusCode)")print("\(statusMessage)")
如果只需要一部分元组值,分解的时候可以把要忽略的部分用下划线(_)标记:
let (justTheStatusCode,_) = http404Error
此外,还可以通过下标来访问元组中的单个元素,下标从零开始:
print("\(http404Error.0)")print("\(http404Error.1)")
可以在定义元组的时候给单个元素命名:
let http200Status = (statusCode:200,description:"ok")
给元组中的元素命名后,可以通过名字来获取这些元素的值:
print("\(http200Status.statusCode)")print("\(http200Status.description)")
作为函数返回值时,元组非常有用。一个用来获取网页的函数可能会返回一个(int,string)元组来描述是否获取成功。和只能返回一个类型的值比较起来,一个包含两个不同类型值的元组可以让函数的返回信息更有用。
取自《the swift programming language》中文版
0 0
原创粉丝点击