Swift:配列の宣言、初期化と要素の追加

配列の初期化に苦労といいますが、バリエーションが多くてまいりましたw

宣言のみ

配列の場合、宣言のみはできないっぽい(普通の変数であればできるみたい) 例えば、このようにするとVariable 'myArray' passed by reference before being initializedとエラーになる:

func hoge () {
    var myArray: [String]
    myArray.append("koji")
    print(myArray[0])
}

hoge()

宣言+空の値で初期化

// Swift Tourに出てくる、空の配列を作るためのInitializer Syntax
var countries = [String]()

// こちらのほうがしっくりくる
var prefectures: [String] = []

宣言+空ではない値で初期化

// 型を推測してもらう
var planets = ["earth", "mars", "venus"]

// 型を明示的に指定
var oceans: [String] = ["Pacific", "Atlantic"]

要素の追加

// 1つだけ追加
prefectures.append("Aichi")

// 2つ以上追加
prefectures.append(contentsOf: ["Yamagata","Hokkaido"])