var a: Int = { 10 + 20 }() // (1)
var b: Int { return 10 + 20 } // (2)
println(a)
println(b)
上記コードの場合、変数a, bともに30と表示されます。
(1)はclosureの結果がaに格納されていると理解できるのですが、(2)でbに値が入るのが理解できません。
(2)もclosureなのでしょうか?
なぜ「=」がないのでしょうか?
なぜ式の末尾に「()」がないのでしょうか?
ご教授お願い致します。
また、参考になるサイトがあれば教えて下さい。