Swift中常量和变量的声明

简介: 常量是在程序运行过程中,不会被修改的量。也就是说,常量一经赋值,就不能再次赋值了。变量是在程序运行过程中,可以被多次赋值的量。

常量是在程序运行过程中,不会被修改的量。也就是说,常量一经赋值,就不能再次赋值了。

变量是在程序运行过程中,可以被多次赋值的量。也就是说,常量即使已经赋值,还可以再次赋值。

在C语言中,如果我们要声明常量,需要在类型前面加上const。例如,声明一个值为10的整型常量i的语句如下:

const int i = 10;

在Swift中,我们使用let来声明常量,使用var来声明变量。例如,同样是声明一个值为10的整型常量i的语句如下:

let i: Int = 10

声明一个值为20的整型变量j的语句如下:

var j: Int = 20

常量或变量的类型必须和你赋给它们的值保持一致。但是,你可以不用明确地声明类型,如果在声明的同时赋值的话,编译器会自动推断类型。例如,我们编写出如下的语句:

var k = 30
let str = "Hello!"

根据所赋的值,编译器会自动推断出k为整型,str为字符串(String)类型。

如果所赋的初始值没有提供足够的信息,甚至是没有初始值,那就需要在变量后面指明类型,用冒号分隔。

Swift同样支持值类型之间的转换,但Swift中的值永远不会被隐式转换为其他类型。如果需要把一个值转换成其他类型,需要使用显式转换。如下语句所示:

let desc = "My age is "
let age = 30
let info = desc + String(age)

上面的语句声明了desc为String类型,age为整型,而info也为整型。通过显式类型转换,info的值为“My age is 30”。

在Swift中,有一种把整型值转换成字符串的方法简单方法:把整型值写到括号中,并且在括号之前写一个反斜杠\。如下代码所示:

let japanese = 2
let russian = 3
let japanesedesc = "There are \(japanese) japaneses."
let foreignerdesc = "There are \(Japanese+ russian) foreigners."

在以上代码中,japanesedesc的值为“There are 2 japaneses.”,foreignerdesc的值为“There are 5 foreigners.”

最后,我们编写下面的程序来巩固在Swift中对常量和变量的声明:

let name = "zzx"
let desc = "My name is "
let namedesc = desc + name
print(namedesc)

let age = 30
var futureage = 0
futureage = age + 5
let info = "After 5 years, my age is \(futureage)."
print(info)

程序运行结果为:

My name is zzx
After 5 years, my age is 35.

目录
相关文章
|
6天前
|
编译器 Swift
在Swift中定义常量(Constant)
在Swift中定义常量(Constant)
123 2
|
6天前
|
编译器 Swift
在Swift编程语言中,定义变量
在Swift编程语言中,定义变量
31 1
|
6天前
|
存储 Swift
在Swift编程语言中,变量(Variable)和常量(Constant)
在Swift编程语言中,变量(Variable)和常量(Constant)
49 1
|
6天前
|
存储 Swift 容器
在Swift编程语言中,变量和常量
在Swift编程语言中,变量和常量
28 2
|
6天前
|
存储 安全 编译器
swift变量和常量
swift变量和常量
32 1
|
7月前
|
Swift
6 Swift 变量和常量的定义
Swift 变量和常量的定义
37 0
|
Swift
Swift - 变量与常量
Swift - 变量与常量
51 0
|
存储 Swift
Swift5.1—常量和变量
Swift5.1—常量和变量
117 0
《从零开始学Swift》学习笔记 (Day 58)—— Swift编码规范之变量或常量声明规范
<div style="top: 0px;"></div> <span style="font-family:宋体;font-size:14px;"></span><span style="font-family:宋体;font-size: 10.5pt; mso-ascii-font-family: Arial; mso-fareast-font-family: 宋体; mso-fare
1846 0

相关课程

更多