1. Swift 变量
在编程中,变量是用于保存数据的容器(存储区域)。例如,
var num = 10
这里,num
是一个存储值 10 的变量。
声明 Swift 变量
在 Swift 中,我们使用 var
关键字来声明变量。例如,
var siteName:String
var id: Int
这里,
- siteName 是一个 String 类型的变量。这意味着它只能存储文本值。
- id 是一个
Int
类型的变量。这意味着它只能存储整数值。
注意:在 Swift 中,变量一旦声明,就不能改变其类型。
给变量赋值
您可以使用 =
运算符为变量赋值。
var siteName: String
siteName = "programiz.com"
print(siteName)
输出
programiz.com
您也可以直接赋值变量,而无需类型注解,如下所示:
var siteName = "programiz.com"
print(siteName) // programiz.com
在这里,编译器会自动推断出 siteName 是 String
类型的变量。
更改变量的值
您可以更改现有变量的值。因此,它被称为变量。例如,
var siteName = "programiz.com"
// assigning a new value to siteName
siteName = "apple.com"
print(siteName)
输出
apple.com
这里,siteName 的值从 "programiz.com" 更改为 "apple.com"。
Swift 变量命名规则
变量的命名规则是:
- 变量名必须以字母、下划线
_
或美元符号$
开头。例如,// valid var a = "hello" var _a = "hello" var $a = "hello"
- 变量名不能以数字开头。例如,
// invalid var 1a = "hello" // throws error
- Swift 是区分大小写的。因此 A 和 a 是不同的变量。例如,
var A = 5 var a = 55 print(A) // 5 print(a) // 55
- 避免使用Swift 关键字,如
var
、String
、class
等作为变量名。
注意事项:
- 给变量名起一个描述性的名字是一个好习惯。例如,numberofApples 比 a、apple 或 n 是更好的变量名。
- 在 Swift 中,如果变量名包含多个单词,通常使用驼峰命名法。例如,myVariable、addTwoNums 等。
2. Swift 常量
常量是一种特殊的变量,其值不能被改变。例如,
let a = 5
这里,在 a 被初始化为 5 后,我们不能改变它的值。
声明 Swift 常量
在 Swift 中,我们使用 let
关键字来声明常量。常量的值不能被改变。例如,
let x = 5
x = 10 // Error
print(x)
输出
main.swift:4:1: error: cannot assign to value: 'x' is a 'let' constant
另外,您不能在不初始化的情况下声明常量。例如,
let siteName: String
print(siteName)
输出
main.swift:4:7: error: constant 'siteName' used before being initialized
注意事项
- 如果您确定变量的值在程序中不会改变,建议使用
let
。 - 变量的命名规则同样适用于常量。
3. Swift 字面量
字面量是在程序中表示固定值的文本。它们可以是数字、字符或字符串等。例如,"Hello, World!"、12、23.0、"C" 等。
字面量通常用于给变量或常量赋值。
例如
let siteName = "Apple.com"
在上面的表达式中,siteName 是一个变量,"Apple.com"
是一个字面量。
整数字面量
整数字面量是没有小数部分或指数部分的数字。
Swift 中有四种整数字面量:
类型 | 示例 | 备注 |
---|---|---|
十进制 | 5, 10, -68 | 常规数字。 |
二进制 | 0b101, 0b11 | 以 0b 开头。 |
八进制 | 0o13 | 以 0o 开头。 |
十六进制 | 0x13 | 以 0x 开头。 |
浮点数字面量
浮点数字面量是带有浮点小数点的数字字面量。例如,
let piValue: Float = 3.14
这里,3.14 是一个分配给 piValue 常量的浮点数字面量。
布尔字面量
有两个布尔字面量:true
和 false
。
例如,
let pass: Bool = true
这里,true
是一个分配给 pass 的布尔字面量。
字符串和字符字面量
字符字面量是用双引号括起来的 Unicode 字符。例如,
let someCharacter: Character = "S"
这里,S
是一个分配给 someCharacter 的字符字面量。
同样,字符串字面量是用双引号 "
括起来的字符序列。
例如,
let someString: String = "Swift is fun"
这里,"Swift is fun" 是一个分配给 someString 的字符串字面量。