深入理解Swift中的变量与常量

时间:2022-09-20 17:52:42

前言

最近在学习Swift这门新语言,对于熟练掌握OC编程的iOS开发者来说其实很容易上手,但Swift的确在语法和编程习惯上改变了很多,对于从未了解OC语言而从Swift开始学习iOS开发的新手来说可能上手有一定难度,下面我将这段时间的学习成果结合在网上搜索的知识做一个简单的汇总,希望可以帮助到正在学习Swift的小伙伴们。

变量常量的定义

Swift开发文档中是这样定义变量和常量的:常量和变量把名字和一个特定类型的值关联起来。常量的值一旦设置好便不能再被更改,然而变量可以在将来被设置为不同的值(见名知意,很简单了啦)

如何声明变量常量

常量和变量必须在使用前被声明,使用关键字 let 来声明常量,使用关键字 var 来声明变量。举个简单的例子:

?
1
2
3
4
class Person: NSObject {
 let life = 1
 var age = 0
}

这里我们有一个Person类继承NSObject,显然人的生命只有一条应该设置为不可以改变的常量,但是人的年龄是随着时间变化的应该声明为变量,同理,当你在开发过程中有类似需求时应该这样来选择何时使用变量、何时使用常量。
当然我们可以选择一行代码以逗号分隔的形式申明多个简单的变量或常量如下所示:

?
1
var a = 0, b = 1.0, c = "CoderYQ"

这里需要讲解一下关于Swift中的类型安全和类型推断。Swift 是一门类型安全的语言,即你必须时刻清楚此时代码需要处理的值的类型,编译器会进行类型检查,任何不匹配的类型都会被标记为错误当然更不能参与运算。当你操作不同类型的值时,类型检查能帮助你避免错误。当然并不是所有的变量和常量都需要明确指出一个确定的类型,如果你没有为申明的变量或常量指定类型,Swift 会使用类型推断的功能推断出合适的类型,通过检查你给变量赋的值,类型推断能够在编译阶段自动的推断出值的类型,这就是Swift中类型推断。就像上面的连续申明变量a、b、c的代码中我们并没有明确指出a、b、c的类型,编译器则是通过你给a、b、c赋的值来推断a、b、c的类型分别为:Int类型、Double类型、String类型。

但是在某些必要时刻我们是需要给申明的变量或常量提供类型标注的,以此来明确他们能够存储的值。添加类型标注的方法是在变量或常量的名字后边加一个冒号,再跟一个空格,最后加上要使用的类型名称(这里和OC中不太一样,需要大家适应一下),如下所示的代码效果其实和上面的是一样的:

?
1
2
3
var a: Int = 0
var b: Double = 1.0
var c: String = "CoderYQ"

如果变量的类型都一样,我们还可以这样申明:

?
1
var a, b, c : Double

变量和常量的命名

常量和变量的名字几乎可以使用任何字符,甚至包括 Unicode 字符:

?
1
2
3
let π = 3.14159
let 你好 = "你好世界"
let

延伸 · 阅读

精彩推荐
  • Swift深入理解Swift中的变量与常量

    Swift中动态调用实例方法介绍

    这篇文章主要介绍了Swift中动态调用实例方法介绍,在Swift中有一类很有意思的写法,可以让我们不直接使用实例来调用这个实例上的方法,而是通过类型取出这...

    Swift教程网2412020-12-17
  • Swift深入理解Swift中的变量与常量

    swift中c风格的for循环执行效率

    这篇文章主要介绍了swift中c风格的for循环执行效率 的相关资料,需要的朋友可以参考下...

    无敌最孤单10862020-12-29
  • Swift深入理解Swift中的变量与常量

    Swift面试题及答案整理

    虽然Swift出现的时间不久,但是它已经成为最流行的编程语言之一了。Swift的知识浩如烟海,但是怎么测试你掌握了多少?通过下面这篇整理关于Swift面试题...

    故胤道长4952021-01-03
  • Swift深入理解Swift中的变量与常量

    Swift的函数式编程详解

    这篇文章主要介绍了Swift的函数式编程详解,本文讲解了Swift概览、Swift递归、Swift 的高阶函数和闭包等内容,需要的朋友可以参考下...

    Swift教程网5042020-12-17
  • Swift深入理解Swift中的变量与常量

    Swift中的可变参数函数介绍

    这篇文章主要介绍了Swift中的可变参数函数介绍,本文实现了和Objective-C调用方法一样的变参数函数,需要的朋友可以参考下...

    Swift教程网1872020-12-17
  • Swift深入理解Swift中的变量与常量

    Swift中循环语句中的转移语句 break 和 continue

    这篇文章主要介绍了Swift中循环语句中的转移语句 break 和 continue,本文通过实例代码给大家介绍的非常详细,需要的的朋友参考下...

    yulong_xiao7592020-12-30
  • Swift深入理解Swift中的变量与常量

    Swift中的switch 语句

    本文给大家介绍了swift中的swift语句,以及和c语音中的写法区别,本文介绍的非常详细,需要的朋友参考下...

    yulong_xiao3462020-12-30
  • Swift深入理解Swift中的变量与常量

    Swift让输入框跟随键盘弹起避免输入输入法挡住输入框问题

    这篇文章主要介绍了Swift让输入框跟随键盘弹起避免输入输入法挡住输入框问题的完美解决方案,本文分步骤给大家介绍的非常详细,需要的朋友可以参考...

    jianshu6432020-12-30