[swift] Types

GOSARI·2021년 10월 15일
0

swift

목록 보기
1/11

Swift: Language Reference: Types


swift에는 두 가지의 타입이 존재한다.
1. named type
2. compound type

1. named type

이름이 있는 named type은 다른 언어에서 기본으로 여겨지는 데이터 타입
-numbers, characters, strings-에 해당한다.
스위프트에서는 그 외에도 classes, structures, enumerations, protocols를 포함한다.

이 타입은 이름이 있기 때문에 아래와 같이 확장이 가능하다.

struct Size {
    var width = 0.0, height = 0.0
}
struct Point {
    var x = 0.0, y = 0.0
}
struct Rect {
    var origin = Point()
    var size = Size()
}

let defaultRect = Rect()
let memberwiseRect = Rect(origin: Point(x: 2.0, y: 2.0),
   size: Size(width: 5.0, height: 5.0))

2. compound type

합성된 타입이라는 직역을 가진 이 타입은 이름이 없다.
컴파운드 타입으로는 두 가지가 존재한다: tuple types, function types.

tuple type

튜플 타입은 named typescompound types를 포함한다.
예시로 튜플 (Int, (Int, Int))은 Int 네임드 타입과 컴파운드 타입 (Int, Int)로 이루어져 있는 것을 볼 수 있다.

functiopn type

펑션 타입은 아래와 같은 것들의 타입을 대표한다.
type of

  • function
  • method
  • closure
  • (->로 분리되는) consists of a parameter와
  • return type: (parameter type) -> return type

파라미터 타입은 쉼표,로 구분된 타입 리스트다.
리턴 타입은 튜플 타입이 될 수 있기 때문에, function type은 multiple values를 반환하는 함수나 메서드를 지원한다.


궁금한 점

  1. 파라미터는 컴파운드 타입이기 때문에 와일드카드를 사용하는 것이 가능한가?
  2. 펑션 타입 중 존재하는 파라미터와 리턴 타입이 -> 로 분리된다고 특정되는 이유는 무엇인가?

0개의 댓글