관리 메뉴

java,javascript,android,php,sql,공부용,메모용

Swift 스위프트 데이터타입 / Xcode SwiftUI Playground 공부 본문

모바일/SwiftUI ios 공부

Swift 스위프트 데이터타입 / Xcode SwiftUI Playground 공부

yy_dd2 2021. 9. 7. 00:51
반응형

Xcode SwiftUI Playground  공부

스위프트 데이터타입

 

Swift의 기본 데이터 타입

Bool, Int, UInt, Float, Double, Character, String, Any 타입

AnyObject nil ? 

Swift는 엄격한 언어라고 해서 데이터 타입을 정확하게 구분하는게 좋다고 한다.

 

정수형타입

1.Int

스위프트 정수형 데이터 타입(소수점 이하 자리가 없는 수) 부호있는 정수(signed) : 양수, 음수, 0 값을 저장할 수 있는 정수

정수형 타입, 기본적으로 64비트 정수형 타입을 사용, 대략 -922 ~ 922경까지의 정수

Int8, Int16, Int32, Int64

 

2.UInt

부호없는 정수(unsigned) :  양수,정수, 0 값만 저장하는 정수

대략 0 ~ 1844 경까지의 0과 양의 정수

UInt8, UInt16, UInt32, UInt64

 

부동소수점 데이터 타입

3. Float

32비트 부동소수형 타입

 

4.Double

64비트 부동소수형 타입

 

불리언 데이터 타입

5.Bool (Boolean)

참(true), 거짓(false)을 표현하기 위한 타입

 

문자 데이터 타입

6. Character

한 글자(문자)만 표현가능 "한" "글" "자" 딱 한글자만~

 

7. String

여러 문자를 표현

 

8. Any

스위프트의 모든 타입을 지칭하는 키워드

모든 타입을 할당하여 비교가 가능하다. (하나가 Any면 다른 타입과 비교가능)

 

import UIKit

var greeting = "Hello, playground"

// 이렇게 하면 그냥 2진수 숫자로 이해해줌
var myNumber = 10

// 32비트 정수형 데이터 타입의 최대값과 최솟값 출력하기
print("Int32 Min = \(Int32.min) Int32 Max = \(Int32.max)")


// 1. Int
var someInt : Int = 100
print(someInt)
// 2. UInt
var someUInt : UInt = 1
// 에러 두개를 비교하면 같은 정수지만 타입이 달라서 에러 난다
// someInt = someInt


// 3. Float
var someFloat : Float = 6.31
someFloat = 1   // 소수점이 없어도 할당가능
// 4. Double
var  someDouble : Double = 6.31
someDouble = 3  // 소수점 없이도 할장 가능
// 에러 두개 비교하면 타입이 달라 할당이 불가능함
//someDouble = someFloat

// 5. Boolean (Bool)
var someBool : Bool = false
// 에러 Bool은 true와 false만 가능
// someBool = 100

// 6. Character
var someCharacter : Character = "일"
someCharacter = "이"
// 에러 한 글자(문자)만 표현가능
// someCharacter = "문자"

// 7. String
var someString: String = "여러 문자 표현 띄어쓰기도 가능"
someString = someString + "문자에문자더하기"
// 에러 타입이 다르다
// someString + someCharacter

// 8. Any
// 스위프트의 모든 타입을 지칭하는 키워드
var someAny : Any = 100
someAny = "123.3123"
someAny = "일"
someAny = true
// Any 타입은 모두 할당하여 비교 가능함
someAny = someString
someAny = someCharacter

 

** 그래핌클러스터

문자는 그래핌 클러스터의 형태로 저장된다

눈에 보이는 문자를 표현하기 위해 결합된 둘이상의 유니코드 스칼라로 구성

// * 그래핌클러스터
// 서로다른 문자들을 할당
var myChar1 = "f" //소문자
var myChar2 = ":"
var myChar3 = "x" //대문자
// 유니코드로 X할당
var myChar4 = "\u{0058}"
print(myChar4)

print(myChar4)의 결과는 "X"이다


 

*문자열 보간(String interpolation) 개념을 이용해서 변수, 상수, 표션식, 함수 호출을 조합해 구성

// 문자열 보간
var userName = "young"
var inboxCount = 25
var maxCount = 100
var message = "\(userName) has \(inboxCount) messages. Message capacity remaining is \(maxCount - inboxCount) messages."
print(message)

실행결과

young has 25 messages. Message capacity remaining is 75 messages.

 

 

*삼중 따옴표 안에 넣어서 문장 표현가능

// 삼중따옴표 안에 넣어서 선언 가능
var multiline = """
    
    The console glowed with flashing warnings.
    Clearly time was running out.
    "I thought you said you knew how to fly this!" yelled Mary

    "It was much easier on the simulator" replied her brother,
    trying to keep the panic out of tis voice.

"""
print(multiline)

결과

* 특수 문자 / 이스케이프 시퀀스

스위프트에서 자주 사용되는 특수 문자

\n - 개행

\r - 캐리지 리턴

\t - 탭

\\ - 역슬래쉬

\" - 쌍따옴표 (문자열선언부 내에서 쓸때)

\' - 홀따옴표

\u{nn} - 한 바이트 유니코드 스칼라 (여기서 nn은 유니코드 문자를 표현하는 두개의 16진수 사용 ex) var myChar4 = "\u{0058}" )

\u{nnnn} - 두 바이트 유니코드 스칼라

\u{nnnnnnnn} - 네 바이트 유니코드 스칼라

 

 

 

핵심만 골라 배우는 SwiftUI 기반의 iOS 프로그래밍,닐 스미스 지음,황반석 옮김,제이펍 출판

반응형
Comments