Swift 中的final与let区别

1. let vs final

在 Swift 中,let 和 final 分别用于声明常量和不可变属性。

2.let

let 关键字用于声明常量,一旦被赋值后就不能再次被修改。 常量可以在声明时或稍后的某个时刻赋值,但一旦赋值后,其值不能再被改变。

声明常量的一般语法是 let constantName: Type = value。 示例:

let a = 3
// a = 5  // 这行代码将导致编译错误,因为常量不能再次被赋值
3.final

在类中,final 用于标记一个类,表明这个类是不可继承的,不能被其他类继承。 在属性声明中,final 用于表示属性是不可变的,即一旦赋值后就不能再次被修改。

在 Swift 中,类和类的成员(属性、方法、下标等)默认都是不可继承的,所以通常情况下并不需要显式地使用 final 关键字。

示例:

final class MyTestClass {
    final func testMethod() {
        // 这个方法不能在子类中被重写
    }
}
4.小结
4.1.final和let之间的主要区别:

用途:
final用于控制继承和重写行为。let用于声明不可变的变量。

作用域
final作用于类、方法或属性的定义,影响它们在整个继承体系中的行为。let作用于单个变量,确保该变量在声明的作用域内保持不变。

修改性
final是一个修饰符,它不涉及值的修改;而是限制代码的其他部分,如何继承和重写特定的类、方法或属性。

let声明一个常量,确保其值在初始化后不会被修改

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

推荐阅读更多精彩内容

  • 简介 Swift中有两种声明“变量”的方式,这两种方式分别使用let和var这两个关键字。这应该是借鉴了Scala...
    Bobby0322阅读 882评论 1 2
  • 一直没有时间好好看一下swift,最近复习了一遍语法,这里记录swift学习过程中遇到的一些问题和要点,和Obje...
    bomo阅读 2,457评论 0 25
  • Swift进阶 - 个人总结 本章内容来自于喵神翻译的Swift进阶,有兴趣的同学可以阅读原书,更加详细! 本章内...
    阿奈阅读 1,704评论 0 7
  • https://www.jianshu.com/p/bdaa49f9d1a4[https://www.jiansh...
    Abner_XuanYuan阅读 16,621评论 2 43
  • Swift5总结 关于Swift Swift通过采用现代编程模式来定义大多数常见的编程错误: 变量在使用前始终初始...
    酒茶白开水阅读 538评论 0 1