在Struct中使用“ let”-Swift

哦哦

我目前正在练习Swift语言iBook中的示例。我对“ let”的理解是,我们使用“ let”来使常量。一旦给它分配了一个值,就不能再给它分配另一个值。像下面的代码:

let city="NY"
city="LA"  <--error (Cannot assign 'let' value city)

但是我在iBook上看到了这个例子,这确实让我感到困惑:

struct Color{
let red=0.0, green=0.0, blue=0.0  //<---declare variables using "let" and assign value
init(red:Double,green:Double,blue:Double){
    self.red=red                  //<---assign value to variable again?
    self.green=green               
    self.blue=blue                
    }
}

在此示例中,它已经为使用“ let”的红色,绿色和蓝色分配了值。

为什么我们要在init中再次为这三个变量赋值?

凯文

let如果您未在构造函数中自行初始化默认值,则中的初始化将提供默认值。构造函数(init)很特殊。在它们内部,您可以分配一个常量实例变量。实际上,如果您没有默认值,则必须为其分配(这也适用于类。)

感谢Qwerty Bob在文档中找到了这个

在初始化期间修改常量属性

您可以在初始化期间的任何时候修改常量属性的值,只要在初始化完成时将其设置为确定的值即可。

摘录自:苹果公司“ The Swift Programming Language”。iBooks。https://itun.es/us/jEUH0.l

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Swift中的if语句中使用let

来自分类Dev

避免在Swift中使用连续的“ if let”声明

来自分类Dev

Swift-在let中使用可选

来自分类常见问题

为什么我不能在Swift中使用let in协议?

来自分类Dev

在Swift switch语句中使用`let`编译错误

来自分类Dev

NSMutableArray如何在Swift中使用let添加对象

来自分类Dev

在let()中使用哈希

来自分类常见问题

Swift IF LET如何评估?

来自分类Dev

聚合。在$ match中使用$ let

来自分类Dev

let或struct vs枚举

来自分类Dev

在SWIFT中使用Structs(包括字节数组)-Struct到NSData,NSData到Struct

来自分类Dev

等效于Dart中Swift的if let和guard let

来自分类Dev

Swift 1.2 中 UIImage 的 If Let vs Guard Let

来自分类Dev

如果值是`let`常量,为什么只能直接使用元组名称附加元组数组-Swift

来自分类Dev

如何在Swift 2中不使用let / var来保护现有变量分配

来自分类Dev

一起使用let和if-Swift导览游乐园

来自分类Dev

使用 Swift 的另一种方法访问 let/var

来自分类Dev

在尾随闭包中使用if-let

来自分类Dev

在函数中使用let over var的优点

来自分类Dev

在Clojure中使用let / fn匹配参数

来自分类Dev

在switch语句中使用if let语法

来自分类Dev

在尾随闭包中使用if-let

来自分类Dev

OrientDB在subQuery中使用LET值

来自分类Dev

在函数中使用let over var的优点

来自分类Dev

Why is a constant declared with the keyword "let" in Swift?

来自分类常见问题

Swift'if let'语句在Kotlin中等效

来自分类Dev

Swift:将条件和if-let与逻辑或

来自分类Dev

swift if-let不会解开可选的NSDictionary

来自分类Dev

Swift 3:'if let'可选绑定错误