Swift에서 struct에 대해 정말 궁금한게 있는데요.

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    • 잡숴 스티브
      참가자
      • 글작성 : 1
      • 답글작성 : 0

      보통 기본 자료형(Primitive Data Type)이라 함은 값 방식에 Scalar성인데

      그러니깐 Java로 예를 들면 int a = 0, C나 C++ 또한 int a = 0으로 사용을 합니다.

      물론 Java에서 Class로 Integer 같은 것도 제공해주죠.

      근데 Swift를 하면서 정말 궁금한게 Java나 C처럼 int, float, double형이 없고

      struct형식으로 Int나 Double, CGFloat 같은 것을 제공해주는데

      여기서 일단 제 머리로는 이해가 안되기 시작합니다.ㅎㅎㅎ

      왜냐면 struct 형식임에도 불구하고 var a: Int = 0이나 var d: Double =0.0 또는 var c: CGFloat = 0.0이

      어떻게 대입이 가능한지…제가 이때까지 사용했던 언어에서 습득한거와는 완전히 달라서 더더욱 이해가 안갑니다.

      제가 생각하기에는 var a: Int로 선언했으면 a.구조체멤버 = 0 이렇게 와야 할 듯 싶거든요.

      뭐 일단 사용하는데는 문제는 없지만 원리를 알고 사용하고 싶어서 이렇게 질문을 올립니다.

      감사합니다.

      • 이 게시글은 잡숴 스티브에 의해 5 months, 3 weeks 전에 수정됐습니다.
    • 🐛
      참가자
      • 글작성 : 2
      • 답글작성 : 8

      Int, Double or CGFloat 타입에 리터럴이 대입가능한 이유는 ExpressibleByIntegerLiteral, ExpressibleByFloatLiteral 등의 프로토콜을 채택 하고 있기 때문입니다. 

1 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.

logo landscape small

사업자번호 : 743-81-02195
통신판매업 신고번호 : 제 2022-충북청주-1278 호
고객센터 : 카카오톡채널 @yagom