3.1 字符串类型
字符串类型顾名思义为一串字符的组合,其在开发中应用甚广,商品的名称、学生的班级、播放音乐的歌词等场景逻辑都需要通过字符串来处理。
3.1.1 进行字符串的构造
读者在使用Xcode开发工具创建第一个Playground模板时,里面的代码实际上就演示了字符串变量的创建,代码如下:
var str = "Hello, playground"
上面的代码就是一种简单的字符串类型变量的构造方式,即直接通过实体字符串进行赋值,读者可以使用Xcode开发工具创建一个名为String的Playground文件,在其中进行字符串相关代码的演练。
如果需要构造空的字符串,可以使用如下方式:
var str = ""
这里需要注意,在编写代码时,字符串变量的值为空字符串与字符串变量的值为nil是两个完全不同的概念,如果一个Optional类型变量没有赋值,则其为nil,如果赋值为空字符串,则其并不是nil。判断一个字符串变量的值是否为空字符串有特定的方法,后面会进行介绍。
在Swift语言中,String类型实际上是一个结构体,其实前面章节中学习的整型、浮点型和布尔型也是由结构体实现的。Swift语言中的结构体十分强大,其可以像类一样进行属性和方法的定义,关于结构体的知识,后面章节会专门介绍,这里只需要了解即可。开发者也可以使用String结构体的构造方法来构造String类型的量值,示例如下:
Sring类型提供了很多重载的构造方法,开发者可以传入不同类型的参数来构造需要的字符串。实际上,Swift语言中的String类型提供的构造方式十分宽泛,甚至可以将其他类型通过构造方法转换为字符串,示例如下:
str = String(describing: Int.self) //通过类型来构造字符串 "Int"
提示
整型、浮点型数据可以使用构造方法的方式来实现互相转换,例如:
3.1.2 字符串的组合
Swift中的String类型对“+”运算符进行了重载实现,即开发者可以直接使用“+”符号将多个字符串组合拼接为新的字符串,示例如下:
//字符串的组合 var c1 = "Hello" var c2 = "World" var c3 = c1+" "+c2 //"Hello World" //注意中间拼接了一个空格
通过加法运算符,开发者可以十分方便地进行字符串变量的组合拼接,有时开发者需要在某个字符串中间插入另一个字符串,除了可以使用格式化的构造方法外,Swift中还提供了一种十分方便的字符串插值方法,示例如下:
//使用\()进行字符串插值 var d = "Hello \(123)" //"Hello 123" var d2 = "Hello \(c2)" //"Hello World" var d3 = "Hello \(1+2)" //"Hello3"
“\()”结构可以将其他数据类型转换为字符串类型并且插入字符串数据的相应位置,也可以进行简单的运算逻辑后将结果插入原字符串中,这种方法可以十分方便地进行字符串的格式化,在开发中应用广泛。