Swift 变量、常量和字面量

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

在这里,编译器会自动推断出 siteNameString 类型的变量。


更改变量的值

您可以更改现有变量的值。因此,它被称为变量。例如,

var siteName = "programiz.com"
 
// assigning a new value to siteName
siteName = "apple.com"
print(siteName)

输出

apple.com

这里,siteName 的值从 "programiz.com" 更改为 "apple.com"


Swift 变量命名规则

变量的命名规则是:

  1. 变量名必须以字母、下划线 _ 或美元符号 $ 开头。例如,
    // valid
    var a = "hello"
    var _a = "hello"
    var $a = "hello"
  2. 变量名不能以数字开头。例如,
    // invalid
    var 1a = "hello" // throws error
  3. Swift 是区分大小写的。因此 Aa 是不同的变量。例如,
    var A = 5 
    var a = 55
    print(A) // 5
    print(a) // 55
  4. 避免使用Swift 关键字,如 varStringclass 等作为变量名。

注意事项:

  • 给变量名起一个描述性的名字是一个好习惯。例如,numberofApplesaapplen 是更好的变量名。
  • 在 Swift 中,如果变量名包含多个单词,通常使用驼峰命名法。例如,myVariableaddTwoNums 等。

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!"1223.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 常量的浮点数字面量。


布尔字面量

有两个布尔字面量:truefalse

例如,

let pass: Bool = true  

这里,true 是一个分配给 pass 的布尔字面量。


字符串和字符字面量

字符字面量是用双引号括起来的 Unicode 字符。例如,

let someCharacter: Character = "S"

这里,S 是一个分配给 someCharacter 的字符字面量。

同样,字符串字面量是用双引号 " 括起来的字符序列。

例如,

let someString: String = "Swift is fun" 

这里,"Swift is fun" 是一个分配给 someString 的字符串字面量。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战