12/5 TIL 데이터타입 2

handaewon·2023년 12월 5일
0

참 혹은 거짓

  •  Bool
    • 참 true와 거짓 false 을 표현할 수 있는 데이터 타입입니다.

에러코드
Ambiguous use of 'interestRate'
Invalid redeclaration of 'interestRate'

변수 isOpen의 Bool값은 true입니다.
변수 isLogged의 Bool값은 false입니다.
조건문 isOpen은 값이 true이기 때문이 “문이 열려 있습니다”가 출력됩니다.
함수 CheckLoginStatus는 매개변수가 isLogged입니다.
타입은 Bool이며 값이 false이기 때문에 “로그인되지 않았습니다”가 출력됩니다.

조건문 if (만약) 이 자리에는 Bool값인 true, false만 올수 있다.

Bool값을 사용하는 함수

3)문자
🔨String
문자열을 표현하는 데이터 타입으로 텍스트를 표현할 수 있다.

var emptyString: String = ""
var anotherEmptyString = String()

var variableString = "Lukas"
variableString += " and Steve"
print(variableString)코드를 입력하세요코드를 입력하세요

문자 코드2

let horseCharacteres: [Character] = ["H", "o", "r", "s", "e", "!", "🐴"]
let horseString = String(horseCharacteres)
print(horseString)
코드를 입력하세요

튜플(Tuples)

  • 많은 부분을 구성하는 데이터 구조
  • 튜플은 여러 값을 하나로 그룹화 한 값입니다.
  • Tuple은 관련 값의 단순한 그룹에 유용하기때문에 복잡한 데이터 구조를 만드는 데는 적합하지 않습니다.
  • 튜플 값에 접근하려면 순서를 알고 있어야 합니다.
  • 각 요소(Elements)에 이름을 붙일 수 있습니다.
let http404Error: (Int, String) = (404, "Not Found")
let (justTheStatusCode, _): (Int, String) = http404Error
print("The status code is \(justTheStatusCode)")

print("The status cod is \(http404Error.0)")
print("The status message is \(http404Error.1)")

let http200Status: (Int, String) = (StatusCode: 200, description: "OK")

let myInfo: (String, Int, Int, Int, String, String) = (name: "Martin", registrationNumber: 960514, height: 175, weight: 72, Job:"DJ", hobby: "Music Producing")코드를 입력하세요

Why❔ 많은 데이터를 담는 데는 적합하지 않는 이유
Because

  • 사용하는 쪽에서 또 매핑(Mapping)을 해야 합니다.
  • 실수를 유발하기 때문입니다.
  • 여러가지 얽힌 데이터를 전송하거나 저장할때는 구조체나 클래스가 적합합니다.

순서를 알고 있어야 된다는 것이란?
중요!!! 스위프트에서는 첫번째 값에 접근할 떄 1을 사용하는게 아니라 0을 사용합니다.
Zero-based numbering 시작할떄 1이 아닌, 0부터 시작하는 넘버링 방법입니다.
인덱스는 대부분 0부터 시작합니다.

Any

✅Any

  • 다양한 데이터 타입의 값을 수용할 수 있습니다.
  • 배열을 만들면 특정 타입의 배열이 아니라 여러 타입을 담을 수 있습니다.
  • 데이터 형을 대입하려면 형 변환이 필요합니다.
var anyArray: [Any] = [1, "Hi", true]

var anyValue: Any = 1000
anyValue = "어떤 타입도 수용 가능"
anyValue = 48292.58
  • any타입을 double로 선언했을때 나오는 오류
let doubleValue: Double = anyValue

-> Cannot convert value of type 'Any' to specified type 'Double'
Any로 명시된 타입은 더블타입의 값으로 변환할 수 없습니다.

profile
iOS Developer

0개의 댓글