我在Apple的Swift 4编程语言书中读到了以下声明。“ Swift还广泛使用了值无法更改的变量。这些被称为常量,并且比C “
中的常量更强大摘自:Apple Inc.“Swift编程语言(Swift 4)。”iBooks。 https://itunes.apple.com/in/book/the-swift-programming-language-swift-4-0-3/id881256329?mt=11
有人可以解释它比C常数更强大吗? Swift常量有什么特别之处?问题可能是微不足道的。但我无法在任何地方找到令人信服的答案。请帮忙。
答案 0 :(得分:1)
嗯,这里有Swift常量(let
属性)的一些优点,而不是C中的那些:
实际上保证了常量,在C中你可以抛弃常量
const SomeType constVar = someValue();
mutatingFunction((SomeType) constVar); // Uh oh
斯威夫特禁止绕过像这样的常规正确性。
let
属性可以存在:
static
或class
属性),可以为其提供private
访问权限。 (定义了新的访问保护边界,C的访问保护仅限于文件边界)static
或class
属性。 (C结构可以是static
connie let
consts)init
中分配所有let
属性。没有人会留下未定义的值。 let (name, age) = ("Bob", "20") // Declares and assigns 2 different variables, at once
属性可以声明为元组破坏的目标,即使是异构类型也是如此。
,
C 确实使用int x = 1, y = 2;
运算符在一个语句中支持多个分配,但它们必须属于同一类型。例如。 {{1}}