카테고리 보관물: 분류할 수 없는

(Swift) Array – 01. 생성과 조작

배열은 대부분의 프로그래밍 언어에서 가장 중요하게 다뤄지는 데이터 타입이며, 동시에 프로그래머들이 가장 많이 사용하게 되는 기본적인 자료 구조 중 하나이다. 이번 글에서는 Swift의 배열인 Array 타입에 대해 살펴보도록 하겠다.

배열자체는 어찌보면 일련의 값들을 연속적인 저장공간에 차례 차례 배치하여 저장한다는 가장 기본적인 컨셉을 갖는 간단한 자료 구조이다. 컨셉과 구조가 단순하고 또 두말할 나위없이 중요한 자료 구조이기 때문에 많은 언어에서 배열을 언어 차원에서 지원해주는 기능이기도 하다. Swift역시 배열을 기본 타입 중 하나로 제공하고 있다. 실제로 배열이 중요한 것은 그 자체가 가지는 기능보다는 보다 고차원적인 자료 구조를 구현하기 위한 베이스로 사용되기 때문이라 배열에 대해서 만큼은 잘 이해하고 있는 것이 중요하다. 뿐만아니라 Swift에서 Array는 이 언어가 지향하는 Protocol-Oriented라는 컨셉이 어떻게 언어에 녹아있는지를 보여주는 타입이기도 하다. 때문에 Array 타입에 대한 이해와 더불어 이를 지탱하는 두 프로토콜에 대해서도 살펴보겠다.

Continue reading “(Swift) Array – 01. 생성과 조작” »

(Swift) Swift3의 커스텀 연산자 정의 변경점

Swift 3에 도입된 변화 중 하나는 연산자 정의 방식이 변경된 것이다. 이전버전까지는 다음과 같은 문법으로 새로운 연산자를 정의할 수 있었다.

infix operator <> { precedence 180 associativity left }

하지만 이 문법은 왠지 좀 엉성해보이는 구석이 있었다.

  • {...} 블럭내에서는 속성명과 속성값의 구분이 단순히 공백이다.
  • 속성명-속성값의 짝이 한 라인에 연결되어 선언될 수 있다.

Continue reading “(Swift) Swift3의 커스텀 연산자 정의 변경점” »