当前位置: 首页 > 面试题库 >

Swift中的多变量分配

谈阎宝
2023-03-14
问题内容

如何使用Swift在一行中分配多个变量?

    var blah = 0
    var blah2 = 2

    blah = blah2 = 3  // Doesn't work???

问题答案:

你不知道

这是一种语言功能,可以防止赋值的标准不良副作用返回值,如Swift书中所述:

与C和Objective-C中的赋值运算符不同,Swift中的赋值运算符本身并不返回值。以下语句无效:

   if x = y {
       // this is not valid, because x = y does not return a value
   }

此功能可防止在实际需要=等于运算符(==)时偶然使用赋值运算符()。通过使其x = y无效,Swift可帮助您避免代码中的此类错误。

因此,这有助于防止此极其常见的错误。尽管可以用其他语言(例如,通过使用Yoda条件)来减轻这种错误,但是Swift设计师显然认为最好在语言水平上确定您无法用脚射击。但这确实意味着您不能使用:

blah = blah2 = 3

如果您迫切希望在一行上进行赋值,则可以使用元组语法,但是仍然必须专门分配每个值:

(blah, blah2) = (3, 3)

…而且我不推荐它。虽然一开始可能会带来不便,但我认为最好只输入整个内容:

blah = 3
blah2 = 3


 类似资料:
  • 主要内容:1. 变量声明,2.类型注解声明,3.命名变量,4. 打印变量变量提供了程序可以操作的命名存储。 Swift 4中的每个变量都有一个特定的类型,它决定了变量内存的大小和布局; 可存储在该内存中的值范围; 以及可以应用于变量的操作集。 Swift 4支持以下基本类型的变量 - 或 - 用于整数。 更具体地说,可以使用,来定义位或位有符号整数,而使用或来定义位或位无符号整数变量。 例如,和。 - 用于表示位浮点数,它用于保存小数点较小的数字。 例如,,和。 -

  • 变量是一种使用方便的占位符,用于引用计算机内存地址。 Swift 每个变量都指定了特定的类型,该类型决定了变量占用内存的大小,不同的数据类型也决定可存储值的范围。 上一章节我们已经为大家介绍了基本的数据类型,包括整形Int、浮点数Double和Float、布尔类型Bool以及字符串类型String。此外,Swift还提供了其他更强大数据类型, Optional, Array, Dictionary

  • 目标C代码: 此代码用于计算方法参数的数目。

  • 问题内容: Linux bash中确实存在类似于PHP中以下代码的内容: 也就是说,您在一个句子中为3个不同的变量分配了一个对应的值。 假设我有bash函数,该函数将stdout字符串“ qwert asdfg zxcvb”写入标准输出。是否可以做类似的事情: 等号左边的部分当然不是有效的语法。我只是想解释我的要求。 但是,有效的方法如下: 但是索引数组的描述性不如普通变量名。 但是,我可以这样做

  • 问题内容: 我试图弄清楚如何声明一个静态变量,其范围仅限于Swift中的函数。 在C中,这可能看起来像这样: 在Objective-C中,基本上是相同的: 但是我似乎无法在Swift中做这样的事情。我尝试通过以下方式声明变量: 但是这些都会导致错误。 第一个抱怨“静态属性只能在类型上声明”。 第二个抱怨“期望的声明”(在哪里)和“期望的模式”(在哪里) 第三条抱怨“一行上的连续语句必须用’;’分隔

  • 有没有办法在Kotlin中为多个可为空的变量连锁多个let?