三、Swift3.0中let和var对比分析

1、let用于定义常量, var用于定义变量

2、变量或常量的类型会根据右侧的代码执行结果,推倒对应的类型,具体是什么类型可以通过 option+鼠标左击查看类型

3、Swift中对类型要求异常严格。
不同类型的数据,不允许直接运算。Swift不会做隐式转换,所有的类型确定,都要有程序员自己负责。

  let x = 10
  let y = 10.5
  //这里就是错误的
  //print(x+y)
  //正确的做法
  print(x + Int(y))

4、类型转化
OC中:(int)y ==>类型转换
swift中Int() ===>结构体的构造函数 Int对应的是个结构体

5、swift中不存在基本数据类型,都是结构体。如上面的Int(y)

6、如果需要制定变量或常量的类型,也可以使用这样的形式:let x: Double = 12
提示:在Swift开发中,极少直接使用指定类型,通常都是做自动推导。

7、关于let和var的选择
如果写一下代码会包如下警告Variable 'a' was never mutated; consider changing to 'let' constant,翻译过来是:a的值从来没有被更改,建议使用let。所以正确的做法是改为var a = 10

  //系统警告: Variable 'a' was never mutated; consider changing to 'let' constant
 //翻译:a的值从来没有被更改,建议使用let。就是这么智能
   var a = 10
  let b = 20
  print(a+b)

这里使用let,因为这里仅仅修改的是v的属性,并没有修改v的指针地址,所以使用let最为合理。

  let v = UIView()
 //这里使用let,因为这里仅仅修改的是v的属性,并没有修改v的指针地址,所以使用let最为合理。
 v.backgroundColor = UIColor.red
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,906评论 1 10
  • 关于 Swift 重要这个文档所包含的准备信息, 是关于开发的 API 和技术的。这个信息可能会改变, 根据这个文...
    无沣阅读 4,392评论 1 27
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 3,865评论 0 6
  • 一个阳光明媚的秋日早晨 公园的野鸭盘旋起舞 他说他要寻找他的爱人 南方 再会吧,也许不会 刚劲的翅膀让天空好看 散...
    萧陌阅读 481评论 0 1
  • 2017/09/02 每个人总有脆弱的时候。 就像深夜时分,一个人徘徊在窗前,看街道上灯红酒绿,车马喧嚣在眼前,心...
    风风风呀阅读 340评论 0 1