Skip to content

Instantly share code, notes, and snippets.

@tikidunpon
Created September 20, 2016 11:35
Show Gist options
  • Save tikidunpon/680d88d92bf2e397847e0530e65aa91a to your computer and use it in GitHub Desktop.
Save tikidunpon/680d88d92bf2e397847e0530e65aa91a to your computer and use it in GitHub Desktop.
構造体かクラスかでletで固められる影響範囲が異なる感じ #CodePiece #minna_de_swift
//構造体かクラスかで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