Swift数据类型--布尔和字符串

来源:互联网 发布:数据挖掘导论 完整版 编辑:程序博客网 时间:2024/04/29 15:12

Swift数据类型–布尔和字符串

在上一篇中所介绍的都是在C语言中存在的、相似的数据类型(字符串类型我会单独介绍),下面我们看一些C语言中没有或者区别较大的。

1. 布尔类型

布尔类型,即BOOL的音译,在swift中用于条件语句的判断条件,然而和其他高级语言不同的是:直接在swift中使用1或者0当作布尔值,编译器会抛出错误。swift中布尔值只有两种:true和false,在需要使用布尔值的时候可以直接使用这两个布尔值。

var sampleValue: Bool = trueif sampleValue {    print("Hello world!\n")}

也可以使用布尔只的description属性进行打印

print(true.description)

2. 字符、字符串

在swift中,使用 Character和String来存储字符相关的数据,其中Character是字符类型,而String是字符串类型。

2.1 字符类型(Character)

Swift语言是全面支持Unicode的语言,所以每个字符代表一个Unicode字符,我们可以这样定义:

var star: Character = "*"

注意,上面定义中显式地声明了Character,这在声明Character变量的时候是必不可少的操作,否则swift会将变量自动判断为String类型。

字符型变量只允许定义单个字符,如果写成了var star: Character = "***",会引起编译器报错。

2.2 字符串(String)

字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。

在Swift中,字符串与Objective-C中的NSString进行了无缝整合,在程序中可以使用String直接替换NSString。String的声明方式如下:

var emptyString: String//声明为字符串类型(空的字符串)var sentence = "成就一番伟业的唯一途径就是热爱自己的事业。如果你还没能找到让自己热爱的事业,继续寻找,不要放弃。跟随自己的心,总有一天你会找到的。"//被推断为字符串类型

但正是由于swift全面支持Unicode,是的我们并不能确定给每一字段的字长是多少。其中最受到影响的就是我们不能直接把String当作一个字符数组那样通过下标访问指定的字符。

2.2.1 字符串插值

swift支持字符串差值,可以在字符串中插入常量、变量、字面量和表达式,而不用经过占位符的转换(是不是很方便呀),实现如下:

let pi: Double = 3.1415926let d: Double = 6var description = "圆周率的值为\(pi),直径为\(d)的圆的周长约为\(d*pi)"println(description)

运行这一段程序则会得到输出:

圆周率的值为3.1415926,直径为6.0的圆的周长约为18.8495556

其实字符串插值就是在一个字符串里面,通过\()在括号里填入想填进去的内容,编译器会自动将其转换为字符串数据并且插入在字符串中。

2.2.2 字符串连接

连接两个字符串,和python类似,可以直接使用加号进行连接,也就是说:

var h = "Hello "var w = "world!"var hw = h + wprintln(hw)

我们也可以直接用+连接两个新的字符串,比如说
var hw = "hello" + "world!"

2.2.3 字符串比较

比较字符串可以使用 == 操作符,如果两个字符串包含字符、顺序相同,则返回结果为true,否则返回false。

0 0
原创粉丝点击