a = b
할당 연산자는 값은 저장하는게 전부이지만 중요한 역할을 하다.
let a = 12 // a에 12 리턴해준게 아닌 저장
var b = 34
if a == 0 { // 이표현식을 비교했을때 Boolen이 리턴된다.
// a와 0을 비교하는 코드
// a = 0 이런식으로 비교하게되면 할당 연산자가 비교연산 결과를 리턴해줄수 없기때문이다.
}
//lvalue 왼쪽값
//rvalue 오른쪽값
메모리 공간을 타내는 것을 lvalue라하고 저장할 값을 rvlaue라 한다.
b = a
12 = a // 컴파일 에러
// lvalue는 rvalue로 쓸수 있지만 rvalue는 할당 연산자로 저장할 공간이 없기때문에 lvalue로 사용할수 없다.
a -= b
a = a - b
//위 코드는 서로 동일한 코드이다.
var a = 1
var b = 2
a = a + b
a = 1
b = 2
a += b
아래 나머지 예시들도 위아래 모두 동일할 기능의 코드이며 Bitwise Operators를 참고하면 된다.
a *= b
a = a * b
a /= b
a = a / b
a %= b
a = a % b
a &= b
a = a & b
a |= b
a = a | b
a ^= b
a = a ^ b
a <<= b
a = a << b
a >>= b
a = a >> b