swift入门开发:变量、常量和字面量 – Swift最新教程

上一章Swift教程请查看:swift访问控制:public、internal和private

这一章我们介绍swift开发的第一个程序,并且进一步介绍swift变量、常量和字面量及其相关使用。

第一个swift程序:Hello
World

下面我们将通过编写一个“Hello,
World!”程序来深入了解Swift编程,你将学习一个工作的Swift程序的基本语法。

“Hello,
World!”是一种计算机程序,通常用于用一个工作程序来说明一种编程语言的基本语法。

如果你想在你的电脑上运行这个程序,请确保正确安装了Swift和Xcode。

// Hello, World!
import Swift
print("Hello, World!")

以上程序的解释:

  1. // Hello,
    World!

在Swift中,任何以两个斜杠//开头的行都是注释,它们完全被编译器忽略,注释是为了让阅读代码的人更好地理解程序的意图和功能。

  • import
    Swift

import关键字允许你访问框架中定义的所有符号,现在,只需记住在我们的程序中使用print(“Hello,
World!”)需要这一行,你将在以后的教程中了解更多关于它的内容。

  • print(“Hello,
    World !”)

上面这一行在Swift中称为函数,更具体地说,是一个打印函数。

在swift中,print表示“显示在屏幕上”,上面的代码在引号i中打印字符串,在后面的教程中,你将了解更多关于函数及其工作方式的内容。

在终端运行swift程序

打开终端

键入swift并按回车键,这将给你一个欢迎信息。

输入print(“Hello,
World !”)

当你按下回车键,程序将会执行输出。

注意

  • 如果你熟悉C、c++、Java等其他编程语言,则需要在每条语句的末尾添加分号(;)。但是,在Swift语句末尾添加分号“;”是可选的,也不推荐。如果需要在一行中添加多个语句,则必须在语句末尾包含“;”。
  • 如果你愿意,你可以从你的程序中删除导入Swift这一行,因为它会自动包含在你的程序中。
  • 如果你现在还不理解这里提及的一些概念,请不要担心,我们将在后面的教程中详细讨论它们。

什么是变量?

在程序设计中,变量用于在内存中存储数据,这些数据可以在整个程序中使用。每个变量必须有一个唯一的名称,称为标识符。将变量看作包含信息的容器是有帮助的,这些信息可以在以后进行更改。

从技术上讲,你可以把一个变量想象成一个袋子,里面装着一些书,这些书以后可以被其他的书代替。

如何在Swift中声明变量?

在Swift中,我们使用var关键字来声明一个变量。

例子:

var siteName:String
print(siteName)

我们已经声明了一个名为siteName的类型为String的变量,这意味着它只能保存字符串值。

如果你试图运行上面的代码,它会给我们一个编译时错误(变量在初始化之前使用),因为它不存储/包含任何值。

如何给Swift中的变量赋值?

可以使用赋值操作符(=)在变量中赋值。

例1:声明一个变量并为其赋值

var siteName:String
siteName = "Example.com"
print(siteName)

或者

你还可以将值内联赋为:

var siteName:String = "Example.com"
print(siteName)

变量siteName现在包含值“Example.com”。

由于Swift是一种类型推断语言,它可以自动推断(知道)“Example.com”是一个字符串,并将siteName声明为字符串。因此,你甚至可以从声明中删除type (:String),如下所示:

例2:Swift中的类型推断变量

var siteName = "Example.com"
print(siteName)

因为siteName是一个变量,你也可以通过简单的赋值操作符来改变它的值,但是不需要var关键字:

例3:更改变量的值

var siteName = "Example.com" 
// 为siteName分配一个新值
siteName = "srcmini02.com"
print(siteName)

什么是常量?

常量是一种特殊类型的变量,其值不能改变。将常量看作容纳信息的容器是有帮助的,这些信息在以后是不能更改的。

从技术上讲,你可以把常量想象成一个袋子,用来储存一些书,而这些书一旦放在袋子里就不能被替换了。

如何在Swift中声明常量?

在Swift中,我们使用let关键字来声明一个变量。

例子:

let siteName:String
print(siteName)

我们已经声明了一个名为siteName的常量,其类型为String。

如果你尝试运行上面的代码,它将给我们一个编译时错误(初始化之前使用的常量),因为它不包含/持有任何值。

如何给Swift中的常数赋值?

可以使用赋值操作符(=)在与变量相同的常量中赋值。

例4:声明一个常量并为其赋值

let siteName:String
siteName = "Example.com"
print(siteName)

或者

你还可以将值内联赋为:

let siteName:String = "Example.com"

现在常量siteName包含/持有值“Example.com”。

与变量一样,你可以从声明中删除type (:String),如下所示:

例5:Swift中的类型推断常量

let siteName = "Example.com"
print(siteName)

但是不像变量,你不能改变常量的值,所以,你不能做某事

示例6:更改常量的值(不允许)

let siteName = "Example.com"
siteName = "srcmini02.com" // 运行时错误
print(siteName) 

上面的语句给了我们一个错误,因为正如我们所说,一旦数据被存储,常量的值就不能被改变,这是变量和常量之间的关键区别。

什么是字面量?

字面量是直接出现在源代码中的值,它可以是数字、字符或字符串等,例如:“Hello, World”,12,23.0,“C”是字面量的简单例子。字面量通常用来初始化(赋值给)变量或常量。

例如:

let siteName = "Example.com"

在上面的表达式中,siteName是一个变量,而“Example.com”是一个文字。

Swift的字面量类型

整型字面量

它表示十进制、二进制、八进制或十六进制值,它有四种类型。

二进制字面值:代表二进制值,始于0 b。

八进制字面量:表示八进制值,从0开始。

十六进制字符:表示十六进制值,始于0 x。

十进制字面量:表示十进制值,在整数字面量中声明的所有内容的类型都是decimal。

例7:如何在Swift中使用整数字面量?

let binaryNumber = 0b11111111
print(binaryNumber)
print(1231)

在上面的程序中,有两个整数字面值0b11111111(二进制字面值)和1231(十进制字面值)。11111111的十进制值是255,因此print(binaryNumber)语句在屏幕上输出255。

类似地,print(1231)在控制台中输出十进制值255。

字符串和字符字面量

字符串字面量是由双引号包围的字符序列,字符字面量是由双引号包围的单个字符。

例8:在swift中如何使用字符串和字符字面量?

let someCharacter:Character = "C"
let someString:String = "Swift is great"

在上面的程序中,“C”是一个字符字面量,“Swift is great”是一个字符串字面量。

浮点字面量

它用于初始化数据类型为float和double的变量,它可以有两种类型:

小数:

它可以有一个可选的指数,由大写或小写e表

例9:如何在Swift中使用十进制字面量?

let someFloat = 12.23
let someAnotherFloat = 3.14e2 
print(someFloat)
print(someAnotherFloat)

在上面的程序中,12.23和3.14e2是浮点字面量,3.14e2用指数表示,等于3.14 * 102。

十六进制:

十六进制浮点数必须有一个由大写或小写p表示的指数,对于exp为指数的十六进制数,底数乘以2exp:

例10:如何在Swift中使用十六进制字面量?

let someFloat = 0xFp10 
let someAnotherFloat = 0xFp-12
print(someFloat)
print(someAnotherFloat)

在上面的程序中,0xFp10和0xFp-12是浮点数,0xFp10用指数表示,等于15*210 (F用十进制表示为15)。因此,print(someFloat)在屏幕中输出15360.0。

同样,0xFp-12等于15 * 2-12,因此,print(someAnotherFloat)在屏幕上输出0.003662109375。

布尔字面量

swift中有两个布尔字面量,他们是true和false。

例11:如何在Swift中使用布尔字面量?

let result:Bool = false

在上面的程序中,false是一个布尔字面量,它被赋给常量result。

变量和常量的规则和最佳实践

  • 选择一个有意义的名字。例如,var name比var n更有意义。
  • 使用camelCase符号声明变量或常量,驼峰大小写符号以小写字母开头。例如:
var studentName
let studentAge
let address
  • 你还可以定义变量和常量而不需要标记它们,不标记名字意味着你不会在程序中使用它。在许多情况下,你需要创建一个未使用的变量,在这种情况下,你可以使用_作为占位符:
var _ = "Example.com" // 已初始化但未存储在变量中的字符串
let _ = "Example.com"

甚至这也是有效的:

_ = "Example.com"
  • 如果你只需要设置一个值一次,并且在程序期间不需要再次更改它,那么可以使用常量。但是,如果你确实需要在以后更改它,请使用变量。
  • 常量和变量名不能包含空格字符、数学符号、箭头、私有(或无效)Unicode代码点或行和箱形图字符。它们也不能以数字开头,尽管数字可能包含在名称的其他地方。

例如:

var 12 = "Example.com" // 编译错误: expected pattern
var @hello = “Hello” // 编译错误: expected pattern
微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?