Swift学习笔记

一、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" )
}
}
屏幕快照 2017-06-13 12.56.33.png

// 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 internal(英文直译:里面的,adj),默认的是 internal。public:可以访问自己模块中任何 public,被 import 到其他模块,也可以被访问internal:只能访问自己模块中任何 internal 实体,不能访问其他模块中的 internal 实体private:顾名思义,就是私有,只能在当前源文件中使用。根据特点决定,如果编写 App 的话,直接用默认的就好了,就是啥也不用敲如果编写 Framework,请认真思考流程,认真设计,外部接口要设置 public,而一些不想让别人看见的就可以用 private 或者 internal 修饰

你可能感兴趣的:(Swift学习笔记)