前言
我们都知道Swift
有两种方式存储临时数据,在swift
中并没像OC
那样存在非0即真
的概念,但都是用布尔值来存储真或假。
一、如何使用布尔值存储真假
例如定义一个bool
的属性
// bool值存储真假
// 创建bool类型和其他类型创建一样
let goodDogs = true // 初始化一个bool类型
let gameOver = false
通过某个条件判断其真假
let fileName = "paris.jpg"
print(fileName.hasSuffix("jpg"))// 后缀是否是以jpg结尾 返回的是一个新值 真或假
let number = 120
print(number.isMultiple(of: 3)) // 是否是3的倍数 返回的是一个新值 真或假
我们常在实际开发过程中,会用到某个bool
属性取反,然后更新其状态,然我 swift
中两种方式进行取反操作。
// 在开发过程中,我们常常需要判断其真假、或者取反
var isAuthenicated = false
print(isAuthenicated)
// 取反方式一
isAuthenicated = !isAuthenicated
print("方式一 \(isAuthenicated)")
// 取反方式二
isAuthenicated.toggle() // toggle()函数会将一个假值转换成一个真值,一个真值转换成假值
print("方式二 \(isAuthenicated)")
二、字符串的串联与插值
我们在学习oc
的过程中,多个NSString
进行串联是通过它的静态方法[NSString stringWithFormat: @"%@%@", str1, str2]
,但是在Swift
中就比较简单,也是两种方式。
方式一:+
, 也就是说可以通过+
号将两个字符串串联成一个字符串
let greetings = "hello, "
let msg = "world"
let sentence = greeting + msg
print(sentence)
方式二:插值\()
// 如何将字符串串联在一起
let name = "Alexander"
let age = 23
print("my name is \(name), and I am \(age) years old")
swift是类型推导,所以不同的数据类型不能进行+\-*
,需要进行强制类型转换,字符串串联也是一样,不同类型的字符串不能用+
进行串联,需要用\()
.
总结
- Swift 允许使用
let
创建常量,使用var
创建变量 - 如果我们不打算改变其值,确保使用
let
避免错误 - Swift中
Int
、interger
代表整型,Double
代表浮点类型 - Swift内置很多运算符,不同类型的常量或变量不能进行
+-*/
,否则会报错 - Swift中的bool 表示简单的
true
、false
,可以用!
取反,也可以用取反函数toggle()
- Swift 中字符串串联不同类型不能使用
+
进行格式化,需要用\()
进行插值。