Bool
true, false를 판별한다. 기존의 c언어와는 달리 0, 1을 넣으면 정수형으로 인식해 오류를 뱉는다!
Int
정수형 데이터 타입
UInt
unsigned int로 양수만을 다룬다.
Float
부동소수형 타입, 32비트 기준.
Double
부동소수형 타입, 64비트 기준.
Character
문자 한개
String
문자열
import UIKit
//Bool, Int, UInt, Flat, Double, Character, String
//Bool
var someBllo: Bool = true
someBool = false // true, false만 들어갈 수 있다!
//someBool = 0
//someBool = 1
0, 1을 넣으면 참 거짓을 자동 판별하는게 아니고, 왜 정수형 타입을 넣냐고 오류 뜸.
//Int
var someInt: Int = -100
//someInt = 100.1 정수형이니까 실수 안됨~ double로 표현해라
//UInt unsigned int
var someUInt: UInt = 100
//someUInt = -100 양수만 들어와~
//someUInt = someInt 이래도 음수니까 안됨
//Float
var someFloat: Float = 3.14 //부동소수형 타입, 32비트 기준
someFloat = 3
//Double
var someDouble: Double = 3.14 //부동소수형 타입, 64비트
someDouble = 3
//someDouble = someFloat 얘도 오류 뜸
//Character
var someCharacter: Character = "😀" // 유니코드를 사용한다!
someCharacter = "👭"
someCharacter = "A"
someCharacter = "야"
//someCharacter = "안녕" 안돼~~
//String
var someString: String = "야오오😀"
someString = someStriing + "반가워옹"
print(someString) // 야오오😀 반가워옹
문자열을 여러 개 이용할 때
someString = """
세 개씩 쓰고, 줄바꿈 꼭!
여러개를
쓸수있따
야오
"""
someString = someCharacter 이거도 수용 안해줌 데박 ㅠ
var someInt: Int = 100
var someFloat: Float
var someDouble: Double
someFloat = someInt // 가넝한
// someDouble = someFloat 얘는 오류뜬대요
예시에서 같은 3이 들어가는데도, Int형을 Float에 넣는 것은 가능했지만, Float를 Double에 넣는 부분은 에러가 떴다. 차이가 뭘까?
var someFloat: Float = 1.2345678910
var someDouble: Double = 1.2345678910
printf("Float값은 : \(someFloat), Double값은 : \(someDouble)")
결과값
Float값은 : 1.23456789, Double값은 : 1.234567891
보이듯, Float는 9에서 짤리고, Double은 다 보여준다!
임의의 수 만들기도 추가됐다고 헙니다 데박 정수, 실수 모두 가능
random(in:)
Int.random(int: -100...100)
UInt.random(in: 1...30)
Float.random(in: -0.64...-1.4)
Float와 Double 모두 부동 소수점을 사용하는 실수이다. 우리가 흔히 소수점 이 있는 실수라고 부르기도 하는데, Float는 32비트 부동 소수, Double은 64비트 부동 소수이다.
32비트와 64비트의 차이는 몇자리수까지 표현하는가에서 다르다는 점을 볼 수 있다.
64비트 환경에서 Float는 십진수를 6자리 숫자까지만, Double은 15자리까지 표현할 수 있다! 데박..
그래서 왜 안되냐면..
var someInt: Int = 1
var someDouble: Double = 1.0
// vat someSum = someInt + someDouble
여기부터 틀린다. Swift가 얼마나 안정성을 추구하는지.... 라고 생각해도 될까 ㅎㅎ;
그냥 마음 편하게 데이터 타입에 엄격하다!!
데이터 타입 교환이 거의 안된다고 생각하고 코드를 작성하자.
야곰의 Swift 기초 강의를 보고 정리한 자료입니다.