본문 바로가기

Swift

문자열 보간법, 콘솔로그, 상수와 변수, 기본데이터 타입 : Swift 문법요약 1 - edWith Swift입문

edWith에 iOS Developer강좌를 수강중입니다.

Swift에 경험이 없어도 따라하면서 이해가능하겠지 생각했는데..아니네요.

Swift입문을 먼저 수강하면서 정리합니다.



https://www.edwith.org/boostcamp_ios


1. 문자열 보간법 (String Interpolation)

문자열내에 변수(또는 상수)의 값을 표현 

문자열내에 변수(또는 상수)의 값을 표현

let num: Int=2

"My favorite number is \(num)." //\<-백슬래시


2.콘솔로그

print() //단순문자열출력

dump() //인스턴스의 자세한정보출력


3.상수와 변수 선언

let constantNum: Int = 100 //let 상수이름: 타입 = 값

var variableNum: Int = 100 //var 변수이름: 타입 = 값


4.기본 데이터 타입

Swift는 데이터 타입에 엄격


1)Bool

var isGood: Bool = true

isGood = false

isGood = 0 // error: cannot assign value of type 'Int' to type 'Bool'

isGood = 1 // error: cannot assign value of type 'Int' to type 'Bool'


(명시적 형 변환)

import UIKit

isGood = (1 as NSNumber).boolValue


2)Int(UInt)

기본적으로 64비트 (양의)정수형

var myNum: Int = 100

myNum = 100.2 // error: cannot assign value of type 'Double' to type 'Int'


(명시적 형 변환)

myNum=Int(100.2)


var myUNum: UInt = 100

myUNum = -100 // error: Negative integer '-100' overflows when stored into unsigned type 'UInt'


(명시적 형 변환)

myUNum=(-100 as NSNumber).uintValue

->에러는 발생하지 않는데...엄청난 값( 9223372036854775807 )이 되어버립니다.


var myNum: Int = 100

var myUNum: UInt = 100

myUNum = myNum // error: Cannot convert value of type 'Int' to specified type 'UInt'


(명시적 형 변환)

myUNum = UInt.init(myNum)


3)Float, Double

실수타입, Float(32비트 부동소수형), Double(64비트 부동소수형)

var myFloat: Float = 10.1

myFloat=100

var myInt: Int = 100

myFloat=myInt // error: Cannot convert value of type 'Int' to specified type 'Float'


(명시적 형 변환)

import UIKit

myFloat = (myInt as NSNumber).floatValue


4)Character, String

문자타입, 유니코드, 큰따옴표("")사용

var myCharacter: Character = "A"

myCharacter = "AB"

// error: Cannot convert value of type 'String' to specified type 'Character'


var myCharacter: Array<Character> = ["A","B"]

var myCharacter: [Character] = ["A","B"]


var myCharacter: Character = "A"

var myString: String = "AB"

myString = myCharacter // error: cannot assign value of type 'Character' to type 'String'


(명시적 형 변환)

myString = String(myCharacter)

반응형