Swift语言指南(七)--语言基础之布尔值和类型别名

简介: 布尔值   Swift有一个基本布尔类型,叫做布尔(bool),布尔值又称逻辑值(logical),因为它只能为真(true)或假(false)。Swift提供了两个布尔常量值:true,false: 1 let orangesAreOrange(橙子是橙子) = true 2 let turnipsAreDelicious(芜菁很美味) = false orangesAreOrange和turnipsAreDelicious被推断为布尔类型,因为它们的值被布尔字面量给初始化了。

 

布尔值

 

Swift有一个基本布尔类型,叫做布尔(bool),布尔值又称逻辑值(logical),因为它只能为真(true)或假(false)。Swift提供了两个布尔常量值:truefalse

1 let orangesAreOrange(橙子是橙子) = true
2 let turnipsAreDelicious(芜菁很美味) = false

orangesAreOrangeturnipsAreDelicious被推断为布尔类型,因为它们的值被布尔字面量给初始化了。与前文提到的IntDouble一样,不需要特意为变量或常量声明为bool,只要你在创建时将其值设为truefalse即可(值为truefalse后,Swift会推断其位bool类型--Joe.Huang)。已知类型的值初始化为常量或变量时,类型推断使Swift代码更简练更具可读性。

在你使用if这样的条件判断语句时,布尔值(bool)非常有用:

1 if turnipsAreDelicious {
2     println("Mmm, tasty turnips!")//咦,芜菁真好吃!
3 } else {
4     println("Eww, turnips are horrible.")//呸呸呸,芜菁太难吃了.
5 }
6 // prints "Eww, turnips are horrible.//输出 “呸呸呸,芜菁太难吃了.

诸如if类的条件控制语句详见流程控制一章。

Swift的安全类型机制可以避免非布尔值被当做布尔值使用,下面的例子在编译时会报错:

1 let i = 1
2 if i {
3     // this example will not compile, and will report an error
4     //这个例子不会被编译,而且会报错 ,因为i是Int型--Joe.Huang
5 }

而下面的这个例子会编译通过:

1 let i = 1
2 if i == 1 {
3     // this example will compile successfully
4     //这个例子是成功编译的,因为i==1返回true,返回值是bool--Joe.Huang
5 }

i == 1 比较的结果类型为 Bool,因此第二个例子可以通过类型检验。i == 1 这类的比较在 基本运算符(暂未译到) 一章讨论。

与 Swift 中的其他类型安全规则一样,这些规则可避免偶然性突发性的错误,并确保各段代码的目的总是明晰的。

 

类型别名

 

类型别名(type aliases)是已有类型的可替代性名称(为已有类型提供了一个可替代性的名称),使用关键字typealias定义一个类型别名。

类型别名在你需要为上下文中的已有类型提供一个更贴切的名字时非常有用,例如当处理来自外部数据源的特定宽度的数据时:

1 typealias AudioSample(音频采样) = UInt16

一旦定义完了类型别名,你就可以在其他地方以类型别名替代已有类型的原始名字:

1 var maxAmplitudeFound = AudioSample.min
2 // maxAmplitudeFound is now 0 //maxAmplitudeFound(最大振幅)现在是0,基于上例中AudioSample被定义为十六进制的别名后,AudioSample.min就是UInt16.min。--Joe.Huang

此处 AudioSample 作为 UInt16 的别名定义。因为它是别名,因此对 AudioSample.min 的调用实际上是调用 UInt16.min,最终为 maxAmplitudeFound 变量提供一个初始值 0

 

谢谢,Swifter-QQ群:362232993,同好者进~ 

Fork:https://github.com/Joejo/Swift-lesson-for-chinese

 

目录
相关文章
|
11天前
|
机器学习/深度学习 TensorFlow Swift
Swift语言适合多个领域的开发
Swift语言适合多个领域的开发
41 9
|
12天前
|
机器学习/深度学习 人工智能 移动开发
Swift语言作为苹果公司推出的现代编程语言
Swift语言作为苹果公司推出的现代编程语言
26 8
|
14天前
|
安全 数据处理 Swift
深入探索iOS开发中的Swift语言特性
本文旨在为开发者提供对Swift语言在iOS平台开发的深度理解,涵盖从基础语法到高级特性的全面分析。通过具体案例和代码示例,揭示Swift如何简化编程过程、提高代码效率,并促进iOS应用的创新。文章不仅适合初学者作为入门指南,也适合有经验的开发者深化对Swift语言的认识。
35 9
|
12天前
|
机器学习/深度学习 安全 数据挖掘
Swift语言的应用场景非常广泛
Swift语言的应用场景非常广泛
21 4
|
12天前
|
安全 Swift iOS开发
Swift语言
Swift语言
21 4
|
15天前
|
Swift 索引 容器
Swift 泛型-扩展泛型类型
Swift 泛型-扩展泛型类型
22 2
|
15天前
|
Swift 索引
Swift 泛型-类型约束
Swift 泛型-类型约束
23 1
|
24天前
|
安全 Swift iOS开发
Swift 可选(Optionals)类型
10月更文挑战第24天
35 2
|
27天前
|
安全 API Swift
探索iOS开发中的Swift语言之美
【10月更文挑战第23天】在数字时代的浪潮中,iOS开发如同一艘航船,而Swift语言则是推动这艘船前进的风帆。本文将带你领略Swift的独特魅力,从语法到设计哲学,再到实际应用案例,我们将一步步深入这个现代编程语言的世界。你将发现,Swift不仅仅是一种编程语言,它是苹果生态系统中的一个创新工具,它让iOS开发变得更加高效、安全和有趣。让我们一起启航,探索Swift的奥秘,感受编程的乐趣。
|
1月前
|
安全 Swift iOS开发
探索iOS开发中的Swift语言之美
在数字时代的浪潮中,移动应用已成为日常生活的延伸。本文将深入探讨iOS平台上的Swift编程语言,揭示其背后的设计哲学、语法特性以及如何利用Swift进行高效开发。我们将通过实际代码示例,展示Swift语言的强大功能和优雅简洁的编程风格,引导读者理解并运用Swift解决实际问题。
下一篇
无影云桌面