Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 스파르타 코딩클럽 내일배움캠프
- array
- n번째 원소까지
- 주사위 게임1
- 프로그래머스 암호 해독
- continue
- 프로그래머스 n의 배수 고르기
- 객체지향
- swift
- 조건에 맞게 수열 변경하기 3
- 프로그래머스 최댓값 만들기(2)
- 프로그래머스 조건에 맞게 수열 변경하기 3
- 문자열 정렬하기 (1)
- 프로그래머스 자동커밋
- 배열 만들기1
- Error installing cocoapods
- 프로그래머스 배열 만들기1
- 프로그래머스 n번째 원소까지
- 연산자
- Break
- ruby설치
- 프로그래머스
- Til
- 스파르타코딩캠프
- 프로그래머스 문자열 붙여서 출력하기
- 프로그래머스 주사위 게임1
- 프로그래머스 문자열 정렬하기 (1)
- 스페인어
- 문자열 붙여서 출력하기
- cocoapods 설치 오류
Archives
- Today
- Total
dev._.note
[Swift] 데이터 타입 본문
📌 숫자
Int
- 정수를 표현하는 데이터 타입으로 -2,147,483,648 ~ 2,147,483,647 사이 숫자를 표현.
var age: Int = 18 // Int 타입
Float
- 소수점을 표현하는 데이터 타입으로 32비트 부동 소수를 표현.
- 소수점 이하 6자리까지 가능.
var interestRate: Float = 1.2345678910 // Float 타입
print("이자율은 \\(interestRate) % 입니다")
// 출력값: 이자율은 1.2345679 % 입니다
Double
- 소수점을 표현하는 데이터 타입으로 64비트 부동소수를 표현할 수 있음.
- 소수점 이하 15자리 이상 가능.
- 두 유형 모두 적합한 상황에서는 Double을 사용하는 것이 좋음. (출처: 공식 문서)
- 예시 코드
var interestRate: Double = 1.2345678910123456789 // Double 타입
print("이자율은 \\(interestRate) % 입니다")
// 출력값: 이자율은 1.2345678910123457 % 입니다
📌 참 혹은 거짓
Bool
- 참 true와 거짓 false 을 표현할 수 있는 데이터 타입.
// Bool 변수 선언 및 초기화
var isOpen: Bool = true
var isLogged: Bool = false
// 조건문에서 Bool 값 사용
if isOpen {
print("문이 열려 있습니다.")
} else {
print("문이 닫혀 있습니다.")
}
// Bool 값을 반환하는 함수
func checkLoginStatus(isLogged: Bool) {
if isLogged {
print("로그인되었습니다.")
} else {
print("로그인되지 않았습니다.")
}
}
// 함수 호출
checkLoginStatus(isLogged: isLogged)
📌 문자
String
- 문자열을 표현하는 데이터 타입으로 텍스트를 표현.
var emptyString: String = ""
var anotherEmptyString = String()
var variableString = "Mom"
variableString += " and Dad"
print(variableString)
// 출력값: "Mom and Dad"
Character
- 하나의 문자를 표현하는 데이터 타입.
let catCharacters: [Character] = ["C", "a", "t", "!", "🐱"]
let catString = String(catCharacters)
print(catString)
// Prints "Cat!🐱"
📌 다양한 값의 묶음
Tuple
- 튜플은 여러 값을 하나로 그룹화한 값.
- Tuple은 관련 값의 단순한 그룹에 유용. 복잡한 데이터 구조를 만드는 데는 적합하지 않음.
let http404Error: (Int, String) = (404, "Not Found")
let (justTheStatusCode, _): (Int, String) = http404Error
print("The status code is \\(justTheStatusCode)")
// 출력값: "The status code is 404"
// 튜플 값에 접근하려면 순서를 알고 있어야 합니다.
print("The status code is \\(http404Error.0)")
// 출력값: "The status code is 404"
print("The status message is \\(http404Error.1)")
// 출력값: "The status message is Not Found"
// 각 엘레먼트에 이름을 붙일 수 있습니다.
let http200Status: (Int, String) = (statusCode: 200, description: "OK")
// 많은 데이터를 담는 데는 적합하지 않다 - 사용하는 쪽에서 또 매핑(Mapping)을 해야 함
let myInfo: (String, Int, Int, Int, String, String) =
(name: "peter", registrationNumber: 970212, height: 185, weight: 75, job: "developer", hobby: "soccer")
📌 모든 타입
Any
- Any는 다양한 데이터 타입의 값을 수용가능.
- Any 배열을 만들면 특정 타입의 배열이 아니라 여러 타입을 담을 수 있음.
- 하지만 Any 데이터 형을 대입하려면 반드시 형 변환이 필요.
var anyArray: [Any] = [1,"Hi", true]
var anyValue: Any = 1000
anyValue = "어떤 타입도 수용 가능"
anyValue = 12345.67
// 컴파일 에러
let doubleValue: Double = anyValue // 🚨 에러 메시지: Cannot convert value of type 'Any' to specified type 'Double'
// Any 타입에 Double 값을 넣는 것은 가능하지만
// Any는 Double 과 엄연히 다른 타입이 때문에
// Double 타입의 값에 Any 타입의 값을 할당할 때에는 명시적으로 타입을 변환해 주어야 합니다.
// 타입 변환은 이후 강의에서 배우니 타입 변환이 필요하구나까지 알고 계시면 됩니다!
📌 swift에서의 타입
Swift에서의 타입(Type)은 변수 또는 상수에 저장될 데이터의 종류를 정의하는 것.
모든 변수, 상수, 함수 매개변수, 함수 반환 값 등은 모두 특정한 타입을 가지고 있음. Swift는 강력한 타입 추론(Type Inference)을 지원하여 코드를 작성할 때 타입을 명시적으로 지정하지 않아도 컴파일러가 타입을 유추할 수 있는 경우가 많음.
1. 기본 데이터 타입 (Built-in Data Types):
Swift는 기본적인 데이터 타입들을 제공. 이들은 구조체로 구현되어 있으며, 각각의 타입에 해당하는 값이 메모리에 직접 저장. 주요한 기본 데이터 타입에는 다음과 같은 것들이 있음 :
- Int: 정수 타입 (Int8, Int16, Int32, Int64 등)
- UInt: 부호 없는 정수 타입
- Float: 단정도 부동 소수점 숫자 타입
- Double: 배정도 부동 소수점 숫자 타입
- Bool: 불리언 타입 (true 또는 false)
- String: 문자열 타입
- Character: 단일 문자 타입
- 그 외 다양한 기본 데이터 타입들이 있습니다.
2. 사용자 정의 데이터 타입 (Custom Data Types):
Swift에서는 개발자가 직접 타입을 정의할 수 있는 능력을 제공. 이러한 사용자 정의 데이터 타입에는 다음과 같은 것들이 있음 :
- 구조체(Structures): 멤버 변수와 메서드를 포함하는 타입
- 클래스(Classes): 객체 지향 프로그래밍을 위한 참조 타입
- 열거형(Enumerations): 관련된 값들의 그룹을 정의하는 타입
- 프로토콜(Protocols): 특정 작업 또는 기능에 대한 메서드, 속성 및 요구 사항을 정의하는 타입
사용자 정의 데이터 타입은 프로그램에서 특정한 목적을 위해 데이터를 묶고 구조화하는 데 사용. 이러한 타입들을 사용하여 코드를 조직화하고 데이터 모델을 만들어 유연하고 확장 가능한 앱을 개발하는 데 도움이 됨. 타입은 Swift 언어의 핵심 요소 중 하나이며, 안정성과 코드의 가독성을 높이는 데 중요한 역할.
'Dev > SWIFT' 카테고리의 다른 글
[Swift] Queue와 Stack (0) | 2023.11.29 |
---|---|
[Swift] 연산자, 조건문과 반복문 (1) | 2023.11.28 |
[Swift] 프로퍼티와 출력, 함수 (1) | 2023.11.27 |
[Swift] Playground (0) | 2023.11.27 |
[Swift] Swift / iOS 공식자료 (1) | 2023.11.26 |