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 (英文直译:里面的,adj),默认的是 internal。

public:可以访问自己模块中任何 public,被 import 到其他模块,也可以被访问

internal:只能访问自己模块中任何 internal 实体,不能访问其他模块中的 internal 实体

private:顾名思义,就是私有,只能在当前源文件中使用。
根据特点决定,如果编写 App 的话,直接用默认的就好了,就是啥也不用敲如果编写 Framework,请认真思考流程,认真设计,外部接口要设置 public,而一些不想让别人看见的就可以用 private 或者 internal 修饰了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift2.0 1.defer译为延缓、推迟之意类似栈 注意作用域,其次是调用顺序——即一个作用域结束(注意),...
    zeqinjie阅读 3,411评论 0 50
  • 一直没有时间好好看一下swift,最近复习了一遍语法,这里记录swift学习过程中遇到的一些问题和要点,和Obje...
    bomo阅读 2,429评论 0 25
  • 136.泛型 泛型代码让你可以写出灵活,可重用的函数和类型,它们可以使用任何类型,受你定义的需求的约束。你可以写出...
    无沣阅读 1,523评论 0 4
  • 一、swift 的打印输出a、打印字符串 b、字符串拼接 结果:a、我要打印输出b、hello -- 我是打印的数...
    蜗牛锅阅读 191评论 0 0
  • 1-回乡 2-乡下 3-返城 4-城里 5-再返乡
    蛀心虫阅读 204评论 0 0