最近在学习Swift,发现一个变量有两种声明方式。
var indexArray = NSMutableArray() //and
var indexArray : NSMutableArray = NSMutableArray()
我只是想知道它们之间有什么区别?它会复制任何类型的变量赋值吗?
最佳答案
这里有一个简单的解释
var indexArray = NSMutableArray()
如上所述, indexArray 变量可以是任何一个, String , Int ,......。你没有专门为该变量指定任何类型。
var indexArray : NSMutableArray = NSMutableArray()
在这里你特别指定 indexArray 是一个 NSMutableArray
您可以在声明常量或变量时提供类型注释,以明确常量或变量可以存储的值类型。通过在常量或变量名称后放置一个冒号,后跟一个空格,然后是要使用的类型的名称来编写类型注释。
此示例为名为 welcomeMessage 的变量提供类型注释,以指示该变量可以存储字符串值:
var welcomeMessage: String
声明中的冒号表示“……类型……”,因此上面的代码可以读作:
声明一个名为 welcomeMessage 的变量,它是 String 类型。
短语“of type String”的意思是“可以存储任何字符串值”。将其视为可以存储的“事物的类型”(或“事物的种类”)。
现在可以将 welcomeMessage 变量设置为任何字符串值而不会出错:
welcomeMessage = "Hello"
您可以在一行中定义多个相同类型的相关变量,以逗号分隔,并在最终变量名后添加一个类型注释:
var red, green, blue: Double”
* 注意 *
在实践中很少需要写类型注解。如果您在定义常量或变量时为其提供初始值,Swift 几乎总能推断出用于该常量或变量的类型,如类型安全和类型推断中所述。在上面的 welcomeMessage 示例中,没有提供初始值,因此 welcomeMessage 变量的类型是用类型注释指定的,而不是从初始值推断出来的。
Excerpt From: Apple Inc. “The Swift Programming Language (Swift 2 Prerelease).” iBooks. https://itun.es/us/k5SW7.l
关于ios - 在 ios Swift 中声明变量之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35424331/