<--! 스위프트(Swift) 정리 1 : Variable and Constants -->

스위프트(Swift) 정리 1 : Variable and Constants

필그램

·

2017. 9. 1. 04:32

* 상수 : let  - 변경 불가능 (not mutable)

* 변수 : var

 

* 타입이 맞아야 계산된다.

 

* 타입 설정

 

rounded로 값을 정수화 한다. 또한 Swift는 Bool이라 타입을 지정하지 않아도 7라인처럼 Bool로 인식하고 결과 출력한다.

* 코멘트 주는것

   - //

   - @ ( : @available(platform name version number, *)  - 버전 정보등을 넣는다. 맨뒤에 *를 놓음

* Data type(데이터 타입) - 자방와 다름

 

   - Value Type은 copy로 복사 가능

// 1) Value type example
struct S { var data: Int = -1 }
var a = S()
var b = a // a is copied to b
a.data = 42 // Changes a, not b
print("\(a.data), \(b.data)") // prints "42, -1"

   - struct는 enum, array, Optional등을 포함해 Value 타입인 것이다.

// 2) Reference type example
class C { var data: Int = -1 }
var x = C()
var y = x // x is copied to y
x.data = 42 // changes the instance referred to by x (and y)
print("\(x.data), \(y.data)") // prints "42, 42"

레퍼런스로 복사한 후 마치 x와 y가 하나처럼 같은 값을 가지는데, 참조하는 참조값이 같기 때문이다.

옵셔널(?)

 

1라인의 값이 없으므로 2라인에서 에러가 나야하지만, 1라인에 ?(Optional)을 선언함으로써 값이 있거나 또는 nil이라는 것을 선언하므로, 2라인에서 에러가 나지 않는다. 

하지만, 값이 있다는 걸 알게될때 unbox 를 한다.

* String의 활용


반응형