Created
September 20, 2016 11:35
-
-
Save tikidunpon/680d88d92bf2e397847e0530e65aa91a to your computer and use it in GitHub Desktop.
構造体かクラスかでletで固められる影響範囲が異なる感じ #CodePiece #minna_de_swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//構造体かクラスかでletで固められる影響範囲が異なる感じ | |
//値型 | |
struct Value { | |
var name: String = "" | |
} | |
//参照型 | |
class Object { | |
var name: String = "" | |
} | |
//letは不変、varでインスタンス自身が可変になる、値型が持つ属性もletで不変となる | |
let v = Value() | |
// change 'let' to 'var' to make it mutable | |
//v.name = "Can change?" | |
var v2 = Value() | |
//これはコンパイルエラーにならない | |
v2.name = "Can change?" | |
//letは不変、varでインスタンス自身が可変になるが | |
//letを指定されたクラスの属性は不変にならない | |
let o = Object() | |
o.name = "Can change?" | |
var o2 = Object() | |
o2.name = "Can change?" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment