import UIKit
// Have a nice day // 이것은 Swift에서는 문자열로 판단하지 않음.
"Have a nice day" // 큰따옴표로 해야 문자열로 판단함.
"123" // 이것도 문자는 숫자로 이루어져 있지만 큰따옴표로 되어있으므로 문자열로 판단함.
// let onChar = "1" // 이렇게 작성하면 문자로 판단.
let onChar: Character = "1"
// let doubleChar: Character = "12" // 이것은 두개의 문자가 들어가서 문자로 저장할 수 없는 것임.
// 즉, 문자 : 1개의 문자, 문자열 : 2개 이상의 문자의 집합체
let emptyChar : Character = " " // 빈공간으로 하고싶으면 하나의 스페이스를 둬야함.
// let str : String = 123 ( 큰따옴표가 없어서 안됨 )
// let num : Int = 12.34 ( 실수는 Double이라서 안됨 )
let double : Double = 12 // 뒤에 소수점이 있기때문에 가능 12.00
//let a = 7
//let b : Int8 = a (메모리 공간의 크기가 달라서 안됨.)
let a = 12
let b = 34.56
//let result = a + b // a와 b의 타입이 달라서 계산이 안됨
//print(result)
let c = 12
let d = 9
let result1 = c + d // 타입이 같으니까 계산이 가능
print(result1)
let rate : Double = 1.94
let amt = 10000000
//let result2 = rate * amt 타입이 달라서 계산이 안됨. 타입을 맞춰야함 계산기로 생각하면 소수점을 버리면 안되니까 Double에 맞춰야함 => 형변환
let result2 = rate * Double(amt)
print(result2)
let e = 123
let f = Int8(e)
Int8.max
//let g = Int.max
//let h = Int8(g) // Swift/Integers.swift:3687: Fatal error: Not enough bits to represent the passed value = 일부 데이터가 날아가도 일부 데이터를 저장할 수 있다면 문제는 없음.
let str = "123"
let num12 = Int(str) // str은 문자열 즉 String이지만, num12는 Int(str)로 형변환을 했기 떄문에 num12의 str은 Int형임
let str1 = "Swift"
let num23 = Int(str1) // 여기서는 우측에 보면 nil이라고 나옴. 123같은 경우는 Int형이 될 수 있지만, Swift 같은경우는 숫자가 아니기때문에 Int형으로 바꿀 수 없어서 nil이라는 값이 나온 것.
// 타입 얼리어스 (자주사용하진 않지만 사용하면 코드의 가독성이 좋아지긴함)
typealias Coordinate = Double
let lat : Coordinate = 12.34
let lon : Coordinate = 56.78
문자(character) : 단 하나의 문자 -> "a", "ㄱ" 등등
문자열(String) : 문자들의 집합체 -> "apple", "바보" 등등
문자 혹은 문자열로 판단하기 위해서는 "" 안에 작성해야만 판단가능. 만약 123이라는 것을 ""안에 넣지 않으면 정수(Int) 타입으로 판단함.
형변환
위의 예시를 보면 let str = "123"을 Int형으로 바꿈
하지만, 아래의 예시를 보면 "Swift"는 정수로 판단할 수 없는 문자이기 때문에 nil값이 나옴.
DataType#2_String.playground.zip
0.01MB
'Swift > Swift 문법 정리' 카테고리의 다른 글
[iOS / Swift] Optional 개념과 Unwrapping 정리 (0) | 2024.12.19 |
---|---|
[iOS / Swift] 연산자 (1) | 2024.12.04 |
[iOS / Swift] 숫자와 참거짓 (0) | 2024.12.03 |
[iOS / Swift] 변수와 상수 (2) | 2024.11.28 |
[iOS / Swift] 객체지향 프로그래밍(OOP), 함수형 프로그래밍 (FP) (2) | 2024.11.06 |