ios专题

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

2017-02-21  本文已影响231人  ZhengYaWei

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
上一篇下一篇

猜你喜欢

热点阅读