2016-02-19 42 views
3

我是Swift的新手,正在嘗試學習它的語法。我在網上看到了這個代碼。「var items = [Int]()」中括號的用途是什麼?

var items = [Int]() 

我知道

  • VAR =聲明變量
  • 項=變量的名稱是 '項目'
  • [INT] = INT
  • 的陣列

但是,我不確定[Int]之後的()的用途。我知道沒有()的代碼不會編譯,但它的目的是什麼?

回答

9

它正在初始化一個將包含Ints的Array的新實例。正是這種語法的速記:

var items = Array<Int>() 

代替Array<Int>的類型,你可以使用[Int]代替。

第三種變化是顯式聲明類型,然後分配一個空數組。

var items: [Int] = [] 
+0

非常感謝您的幫助!爲了澄清,()代表數組的構造函數嗎?或者它代表別的東西? – Thor

+1

@dzjustinli完全正確。它調用沒有參數的構造函數。 –

+2

是的,正如大衛所說,它正在構建一個新的對象。有一點要記住的是Swift並不真正把它們稱爲構造函數,而是將它們稱爲初始化函數。我知道這很棘手,但如果你需要查看其他初始化部分的信息,它可能會對你有所幫助。 –

相關問題