本文翻译自:What is the difference between `let` and `var` in swift?

What is the difference between let and var in Apple's Swift language? Apple的Swift语言中的letvar什么区别?

In my understanding, it is a compiled language but it does not check the type at compile time. 以我的理解,它是一种编译语言,但它不会在编译时检查类型。 It makes me confused. 这让我感到困惑。 How does the compiler know about the type error? 编译器如何知道类型错误? If the compiler doesn't check the type, isn't it a problem with production environment? 如果编译器不检查类型,那么生产环境是否存在问题?


#1楼

参考:https://stackoom.com/question/1ci2W/swift中的let和var有什么区别


#2楼

The let keyword defines a constant: let关键字定义一个常量:

let theAnswer = 42

The theAnswer cannot be changed afterwards. theAnswer无法更改。 This is why anything weak can't be written using let . 这就是为什么不能使用let编写任何weak原因。 They need to change during runtime and you must be using var instead. 它们需要在运行时进行更改 ,并且您必须改为使用var

The var defines an ordinary variable. var定义一个普通变量。

What is interesting: 有趣的是:

The value of a constant doesn't need to be known at compile time , but you must assign the value exactly once. 一个恒定的值并不需要在编译时是已知的,但是你必须恰好一次分配的值。

Another strange feature: 另一个奇怪的功能:

You can use almost any character you like for constant and variable names, including Unicode characters: 您几乎可以将任何喜欢的字符用于常量和变量名称,包括Unicode字符:

let 												

swift中的let和var有什么区别?相关推荐

  1. 1. Swift 中的 let 和 var

    Swift 中的变量声明相对于 OC 中简化了很多.可变与不可变取决于声明的方式,不在取决于类型了,这样简化了很多不必要的类型.比如 OC 中可变的为 NSMutableArray,不可变的是 NSA ...

  2. jQuery中的for循环var与let区别

    1.简述 在用AJAX发送请求中又嵌套了一个AJAX请求, 发现在内层请求的success中对第一次success中 的循环变量 i 无法获取,具体代码如下: 2.代码 $.ajax({type: & ...

  3. Swift 中使用 SQLite——打开数据库

    关于Swift中使用SQLite,接下来可能会分别从打开.增.删.改.查,几个方面来介绍SQLite的具体使用,这一篇重点介绍一下如何打开. 定义全局数据库访问句柄 /// 全局数据库访问句柄 pri ...

  4. 探索 Swift 中的 MVC-N 模式

    作者:Marcus Zarra(twitter:@mzarra) Marcus 将会为大家介绍一种设计模式,他曾经在那些需要从互联网进行大量频繁数据请求的 iOS 应用当中使用此设计模式.这个设计采用 ...

  5. Swift 中的内存管理详解

    这篇文章是在阅读<The Swift Programming Language>Automatic Reference Counting(ARC,自动引用计数)一章时做的一些笔记,同时参考 ...

  6. 怎样在swift中创建CocoaPods

    本文由yake_099(博客)翻译自raywenderlich,作者:Joshua Greene 原文:How to Create CocoaPods with Swift 你可能对一些比较著名的开源 ...

  7. Swift中编写单例的正确方式

    本文由CocoaChina译者leon(社区ID)翻译自krakendev 原文:THE RIGHT WAY TO WRITE A SINGLETON 转载请保持所有内容和链接的完整性. 在之前的帖子 ...

  8. Swift中依赖注入的解耦策略

    原文地址:Dependency Injection Strategies in Swift 简书地址:Swift中依赖注入的解耦策略 今天我们将深入研究Swift中的依赖注入,这是软件开发中最重要的技 ...

  9. swift视图容器_如何使用IBDesignable在Swift中创建漂亮的,可重复使用的渐变视图...

    swift视图容器 by Lee Dowthwaite 通过李道思韦特 如何使用IBDesignable在Swift中创建漂亮的,可重复使用的渐变视图 (How to create a beautif ...

最新文章

  1. 南京大学人工智能学院院长周志华:培养有源头创新力的人才!
  2. vue父组件ajax改变数据,vue父组件传了变量给子组件,改变子组件的对象时,父组件也跟着改变...
  3. Java的native关键字
  4. HDU 2502 月之数(简单递推)
  5. ABI(Application Binary Interface)
  6. JavaScript 语言基础知识点总结(思维导图)
  7. ASP.NET Core 3.x启动时运行异步任务(一)
  8. 关于.net的垃圾回收和大对象处理_标记
  9. Spark集群运行jar包程序里的print日志哪里去了?
  10. iQOO 5今日发布:厚度/重量揭晓 5G手机也能够轻薄
  11. 特斯拉市值超过波音 成美国市值最高工业公司
  12. html5 平移,Html5 canvas绘图旋转和平移
  13. 杀手级的ASUS EEE 901GO?
  14. 计算机课签到本,学生课堂签到系统的设计与实现.pdf
  15. Office word for Mac 如何并排查看两个文档
  16. macbook air 安装双系统windows10手册及避坑技巧
  17. 计算机网络中数据传输速率的单位是什么,计算机网络中传输介质传输速率的单位是用什么表示...
  18. android编程拨号界面,在Android4.0中Contacts拨号盘界面剖析(源码)
  19. Unity 中的基础光照
  20. 如何搭建高德离线地图服务

热门文章

  1. python笔记--元组
  2. Nginx安装及配置文件解释
  3. 数据结构实践项目——图的基本运算及遍历操作
  4. UnboundLocalError: local vaiable 'XX' reference...
  5. 保监会:关于开展2012年保险业信息系统安全检查工作的通知
  6. 软件外包相关职业规划
  7. 2009年度工作安排计划
  8. 把CS文件编译成dll文件
  9. 记录学习WeakReference发现的问题
  10. 类与对象- 课后作业1