一、swift 的打印输出
a、打印字符串
print("我要打印输出")
b、字符串拼接
let data = "我是打印的数据"
print("hello -- \(data)")
结果:a、我要打印输出
b、hello -- 我是打印的数据
二、 MARK: - if let /var 连用语法
不是单纯的if 语句
//if let 连用,判断对象的值是否为nil,{}内一定有值,可以直接使用,不需要解包
// if var 连用,{} 可以对值进行修改
fun demo1(){
let oName:String? = "老王"
let oAge:Int? = 10
if var name = oName
let age = oAge{
name = "老李"
// 进入分支之后,name 和 age 一定有值,不需要解包
// name 和 age 的作用域仅在{}中
print(name +String(age) )
} else{
print("name 或 age 为nil" )
}
}
// guard 守卫/守护
fun demo2(){
let oName:String? = "老王"
let oAge:Int? = 10
// guard let 守护一定有值,如果没有直接返回
guard let name = oName,
age = oAge else {
print("姓名或者年龄为nil")
return
}
// 代码执行至此,name 和 age 一定有值
// 通常判断是否有值之后,会做具体的逻辑实现
// guard 的语法 是Swift 2.0 推出的
print(name +String(age))
}
// guard let & if let 的技巧
fun demo2(name:String?,age:Int?){
if let name = name,age = age {
print(name + String(age))
print (“----------------”)
}
// 使用同名的变量接收值,在后续使用的都是非控制,不需要解包
// 好处,可以避免起名字的烦恼
guard let name = name, age = age else {
print("姓名或者年龄为nil")
return
}
print(name +String(age))
}
Swift 有三种访问修饰符:
public internal (英文直译:里面的,adj),默认的是 internal。
public:可以访问自己模块中任何 public,被 import 到其他模块,也可以被访问
internal:只能访问自己模块中任何 internal 实体,不能访问其他模块中的 internal 实体
private:顾名思义,就是私有,只能在当前源文件中使用。
根据特点决定,如果编写 App 的话,直接用默认的就好了,就是啥也不用敲如果编写 Framework,请认真思考流程,认真设计,外部接口要设置 public,而一些不想让别人看见的就可以用 private 或者 internal 修饰了。