,我们可以创建一个空数组是这样的:我们为什么要加()当我们创建一个空数组
var newArray1 = [Int]()
我的意思是:是什么“()”在这里是指当我们创建一个新的数组,为什么不难道我们只是写这篇创建一个新的空数组:
var newArray2 = [Int]
我知道它的语法,但有人可以解释这一点帮我深刻地理解它。
,我们可以创建一个空数组是这样的:我们为什么要加()当我们创建一个空数组
var newArray1 = [Int]()
我的意思是:是什么“()”在这里是指当我们创建一个新的数组,为什么不难道我们只是写这篇创建一个新的空数组:
var newArray2 = [Int]
我知道它的语法,但有人可以解释这一点帮我深刻地理解它。
要创建一个新阵列,您可以使用Array<Int>.init()
。调用初始化程序的简写是删除.init
:Array<Int>()
。
[Int]
是Array<Int>
的简称。
把两者放在一起,我们可以写Array<Int>.init()
为[Int]()
。
如何理解“var b:[Int] = Array()”和“var c:[Int] = []”之间的区别,为什么我们可以将“Array()”更改为“[]” – user7341005
因为您已经使用类型注释':[Int]'指定了类型,编译器可以推断'[]'是一个空的数组文本,其中包含no '诠释' – Alexander
你怎么知道这一切?你能为我推荐一些文件吗? – user7341005
区别在于[Int]
声明了一个类型(Integer的数组),而[Int]()
是对相同类型的初始值设定项的调用。这是两个根本不同的操作。在例如Scala可以用相同的方式编写(因为scala允许你省略没有参数的方法的括号),但是在Swift中这是不允许的。
'... = [Int]'不*声明*类型。这不是声明,而是分配。如果有的话,分配类型将需要'... = [Int] .self' – Alexander
另一种创建空数组的方法是指定类型,然后用空数组文本初始化它:'var newArray1:[Int] = []'。 – vacawama
你也可以'var newArray1 = []作为[Int]'。 – vacawama
@vacawama不要。这太简单了。 – Alexander