swift中的数据类型为多变量声明

Mut*_*v01 32 variables xcode ios swift

在objective-c中,我们可以声明变量,如 - NSString *a,*b,*c;

在swift中有一种方法可以声明相同的数据类型多变量变量而不是像下面那样

var a: NSString = ""
var b: NSString = ""
var c: NSString = ""
Run Code Online (Sandbox Code Playgroud)

那么,是否可以将所有a,b,c变量声明为一行 var (a,b,c): a:NSstring=("","","")或类似的东西?

Dha*_*esh 46

您可以在一行上声明多个常量或多个变量,用逗号分隔:

var a = "", b = "", c = ""
Run Code Online (Sandbox Code Playgroud)

注意

如果代码中的存储值不会改变,请始终使用let关键字将其声明为常量.仅使用变量存储需要更改的值.

类型注释:

您可以在一行上定义相同类型的多个相关变量(以逗号分隔),在最终变量名称后面使用单个类型注释:

var red, green, blue: Double
Run Code Online (Sandbox Code Playgroud)

注意

您很少需要在实践中编写类型注释.如果在定义的位置为常量或变量提供初始值,则Swift几乎总是可以推断出用于该常量或变量的类型,如类型安全和类型推断中所述.

文档在这里.

  • 我想初始化`var taxableIncome,taxBeforeCess,taxAfterCess:一次将这个值加倍。语法是什么?我尝试了多种方法,但均无济于事。 (3认同)

小智 6

Swift在这里有一个奇怪的设计决定。将类型放在变量上会影响多行定义中所有以前的非明确键入的变量。常数也一样。

这两行等效(a,b和c为Double):

var a, b, c: Double
var a: Double, b: Double, c: Double
Run Code Online (Sandbox Code Playgroud)

这两个是等效的(a和b是Int,而c和d是Double):

var a, b: Int, c, d: Double
var a: Int, b: Int, c: Double, d: Double
Run Code Online (Sandbox Code Playgroud)

  • 这些或以上答案均不适用于Swift4 (6认同)