我试着四处寻找这是什么
[]()
但我不太确定。在操场上,我做了这个:
var test = [Int](); test.append(1); test.append(2);
如果我省略()并执行
var test = [Int]; test.append(1); test.append(2);
在我看来,它仍然像一个整数数组。有什么区别吗?
c86crjj01#
Type()意味着“调用init()“-即创建Type的新示例。[Int]是一个类型,类似于String。[Int]表示“整数数组”。String()创建一个新的空String示例。[Int]()创建一个新的空Int数组示例。你可以将一个变量声明为整型数组类型,或者创建并赋值一个新的整型数组示例,这就是你在这里所做的:
Type()
init()
Type
[Int]
String
String()
[Int]()
var test = [Int]()
但是如果没有进一步的语法,你就不能给变量赋值,因此这是非法的:
var test = [Int]
Maven额外费用
你可以说:
var test = [Int].self
它 * 确实 * 为变量赋值了类型!这不太可能是你在这里想要的,因为现在你没有数组了;你有一个类型,它本身,作为对象!!
fzsnzjdm2#
[Type]是Array<Type>的语法糖,因此它表示数组类型,数组类型是一个泛型结构体,您可以为它指定所包含的元素类型(本例中为Int)所以两者的区别是:
[Type]
Array<Type>
Int
以及
与相同
Array<Int>
Array<Int>()
第一种类型只是一种类型,可以在声明变量或函数参数时使用。第二个调用该类型的无参数构造函数,即创建该类型的示例。
2条答案
按热度按时间c86crjj01#
Type()
意味着“调用init()
“-即创建Type
的新示例。[Int]
是一个类型,类似于String
。[Int]
表示“整数数组”。String()
创建一个新的空String示例。[Int]()
创建一个新的空Int数组示例。你可以将一个变量声明为整型数组类型,或者创建并赋值一个新的整型数组示例,这就是你在这里所做的:
但是如果没有进一步的语法,你就不能给变量赋值,因此这是非法的:
Maven额外费用
你可以说:
它 * 确实 * 为变量赋值了类型!这不太可能是你在这里想要的,因为现在你没有数组了;你有一个类型,它本身,作为对象!!
fzsnzjdm2#
[Type]
是Array<Type>
的语法糖,因此它表示数组类型,数组类型是一个泛型结构体,您可以为它指定所包含的元素类型(本例中为Int
)所以两者的区别是:
以及
与相同
以及
第一种类型只是一种类型,可以在声明变量或函数参数时使用。
第二个调用该类型的无参数构造函数,即创建该类型的示例。