zl程序教程

您现在的位置是:首页 >  其他

当前栏目

《Swift入门经典(第2版)》——第2章 学习Swift的基本数据类型 2.1Swift中的常量

经典学习入门 基本 数据类型 swift 2.1 常量
2023-09-11 14:17:47 时间

本节书摘来自异步社区《Swift入门经典(第2版)》一书中的第2章,第2.1节,作者:【美】BJ Miller(BJ 米勒)著,更多章节内容可以访问云栖社区“异步社区”公众号查看

第2章 学习Swift的基本数据类型

在本章中你将学到:

了解常量与变量之间的区别; 怎样声明和使用常量与变量; Swift怎样使用类型推断,实现自动类型设置; Swift的常用数据类型; 怎样利用类型注释特别声明数据类型。

第1章介绍了设置Xcode和Swift REPL环境,并且展示了Xcode布局。我们还研究了Swift代码的一些简短示例,说明了怎样使用这些环境来帮助你编码,甚至测试你的代码。在代码中声明常量以及把不同的数据类型(比如数字42或字符串"Hello, playground")分配给它们时,简单使用了Swift关键字let。本章更详细地探讨了Swift怎样使用var和let关键字(称为导引符(introducer)),还探讨了Swift怎样知道如何处理不同的数据类型。

在Swift中可以用两种基本的方式声明数据类型,它们是常量(constant)和变量(variable),现在就开始探讨它们。

2.1 Swift中的常量

常量用于告诉Swift特定的值不应该或者将不会改变,因此得名“常量”这个术语。它也称为不可变(immutable)的,因为常量不能改变。Swift的编译器会优化用于常量的内存,使代码更好地执行,因为如果Swift知道该内存的大小或内容不会改变,它就可以消除在处理这些值时通常不得不检查的许多潜在的可变性方面。常量还会给程序员提供一张安全保护网,可以阻止意外地重写常量值的内容。

思考一下常量何时是必要的。例如,假定你正在编写一个计算距离的应用,并且你知道1英里相当于5280英尺。可以建立一个名为feetPerMile的常量,并把它的值设置为5280。这样,无论何时需要在代码中引用那个值,都可以在计算中使用feetPerMile。

只能给常量赋值一次。不需要在定义常量时就给它赋值,但是在赋予它一个值之后,它就不能改变了。由于常量的不可变性,如果尝试更改常量的值,Xcode将发出一个编译器错误,指出不能给let赋值。现在,让我们看看变量。

注意:何时使用常量

由于Swift是一种安全的语言,因此建议的最佳实践通常是根据需要结合使用常量与let导引符。通过阻止意外的数据操作,可以极大地提高安全性,甚至可以帮助Swift的编译器提高性能。不过,仅当你知道常量的值永远不会改变时,才应该使用常量。


协议为方法、属性、以及其他特定的任务需求或功能定义一个大致的框架。协议可被类、结构体、或枚举类型采纳以提供所需功能的具体实现。满足了协议中需求的任意类型都叫做遵循了该协议。
为现有的类、结构体、枚举类型、协议添加了新功能。扩展和 Objective-C 中的分类类似。 扩展可以: 添加计算属性; 定义方法; 提供新的构造函数; 使现有的类型遵循某协议
本文中提到的构造函数,在很多书中有其他的说法,如构造器,构造方法,初始化,初始函数等 本文中提到的析构函数,在很多书中有其他的说法,如反构造器,析构方法,反初始化,反初始函数等 构造函数的介绍 构造函数用于初始化一个类的实例(创建对象)...
存储属性是最简单的属性,它作为类实例的一部分,用于存储常量和变量 可以给存储属性提供一个默...
Swift虽然推荐面向协议编程,但其也是一门面向对象开发的语言 面向对象的基础是类,类产生了对象(类的实例) Swift中用class关键字定义类 class 类名 { // 定义属性和方法
枚举定义了一个通用类型的一组相关的值,可以在代码中以一个安全的方式来使用这些值 Swift中的枚举是一等类型, 它可以像类和结构体一样增加属性和方法 在 C/OC 语言中枚举指定相关名称为一组整型值,而Swift 中的枚举更加...
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。