a와 b를 더하는 식에서 가운데를 연산자연산자 양옆을 피연산자라 한다.연산자를 사용할때 공백은 중요하다. 단항 연산자의 경우 분리해서 사용하게되면 단항 연산자가 아니게 된다.이항 연산자의 경우 사이 공백을 띄우거나 붙이는것은 상관없으나 한쪽만 띄울경우 에러가 발생된다.
Int8.min // -128Int8.max // 127Object-c 나 C에서는 overflow를 허용하지만 swift의 산술 연산자는 overflow를 허용하지 않는다.a &+ blet a : Int8 = Int8.max // 127let b : Int8 = a
ture와 false 두가지의 Boolen을 리턴해 해준다.
논리 연산자참과 거짓을 바꿔주는 연산자
삼항 연산자어떤 조건을 기준으로 두가지중 하나를 선택해야할 때 삼항 연산자를 활용한다.condtion의 상태를 비교했을 때 true 나 false가 리턴되는 값이여야한다.뒤 표현식은 true일 때 앞의 값을 리턴하며 false일 때 뒤에 값을 리턴한다.
코드의 실행결과로 인해서 값또는 상태가 변경되는것을 말한다. 의도와 다른 결과를 얻게 될수있기떄문에 예측 가능한 범위, 의도한 값을 도출할수 있도록 해야한다.
사용되는 경우가 적다. 다른 연산자보다 어렵기 때문에 잘사용되지 않는다.메모리에 실제 저장된 값을 계산하기 떄문에 처리 속도가 빠르고 짧은 코드로 복잡한 로직을 구현할떄 자주 활용된다.비트에는 0과 1을 저장할수 있는데 논리 연산자와 비슷하다.~abit를 0을 1로 1
//위 코드는 서로 동일한 코드이다.아래 나머지 예시들은 Bitwise Operators를 참고하면 된다.
일상생활에서는 1 ~ 5이런식으로 사용하지만 swift에서는 아래의 형식으로 코드를 작성한다.단항 연산자나 이항 연산자로 활용된다. 주의할점은 단항 연사자 사용시 공백 없이 붙여서 사용해야 한다.
새로운 연산자를 만드는게 아닌 새로운 피 연산자를 비교할수있도록 기능을 추가하는것이다.몇가지 주의할점이 있는데 연산자가 가지고있는 우선순위나 결합 규칙을 바꾸지 않는다.가능한 원래 기능이나 유사하게 구현해야한다. 논리적인 오류나 가독성이 떨어질수도 있기 때문이다.리턴하
기존에 없던 연산자를 새롭게 만들어 주는것으로 가장먼저 연산자를 선언하고 모든 스콥에서 인식할수 있도록 Gobal Scope에서 선언한다. 앞이면 prfix 뒤면 postfix 사이에 생기면 infix를 선언합니다. (, ), {, }, , , ., ,, :, ;,