Swift

[Swift] 조건문과 반복문, Optional

응디 2022. 2. 10. 17:41

조건문에는 if와 switch가 존재한다.

 

1. if 문

//Swift는 타입 검사를 아주 엄격하게 함
var age = 19
var student = ""

if age >= 8 && age < 14 {
	student = "초등학생"
} else if age < 17 {
	student = "중학생"
}

 

 

2. switch 문

//range 안에 포함되어 있는지 여부 확인
// range 1 ->  1...10 : 1부터 10까지
// range 2 ->  1..<10 : 1부터 9까지 

switch age{
	case 8..<14:
		student = "초등학생"
	case 14..<17:
		student = "중학생"
}

 


반복문( for, while )

 

1. for 문

var country = ["대한민국", "미국", "브라질", "영국"]

var capitals = ["대한민국" : "서울", "미국" : "워싱턴D.C."
								, "브라질" : "브라질리아", "영국", "런던"]

//for문 배열
for con in country {
	print("저는 \\(con) 국적을 가진 사람입니다.")
}

//for문 딕셔너리
for (country, capital) in capitals {
	print("\\(country)의 수도는 \\(capital)입니다.")
}

//단순 반복문
for i in 0..<100 {
	print(i) // 0 ~ 99 까지 출력
}

//단순 반복문인데 i를 쓰지 않을때
for _ in 0..<10 {
	print("Hello!") //10번 찍힘(0 ~ 9 까지 도는 동안)
}

// _ 키워드는 어디서나 변수 이름 대신에 사용할 수 있다.

 

2. while 문

var i = 0

while i < 100 {
	i += 1
}

 


Optional(옵셔널)

  • swift가 가지고 있는 가장 큰 특징
  • 문자열이든 정수형 값이든 빈값을 nil 로 표현함 ( 일반 변수에는 nil 선언 불가 )
  • 값이 있을수도 있고 없을수도 있는 변수 정의 할 때는 ? 를 붙여야함
  • nil 값은 초기화 하지 않아도 기본으로 설정
let value : Int? //optional 변수 -> 그냥 변수랑 다름

// var value : String = nil -> 컴파일 에러!!
var value : String? = nil

 

Wrapping

optional은 기본적으로 wrap 되어있는 상태

→ optional로 선언되어 있는 변수는 기본적으로 값이 있는지 nil인지 wrap 되어있어 모르는 상태이므로

설령 변수에 value 값이 들어있다고 해도 바로 출력 되지 X

var str : String? = "Hello"
print(str)

//출력 결과 : Optional("Hello")
//str이 nil일 수도 있기 때문에 결과값이 바로 Hello가 출력되지 않음 

//Hello만 출력 하려면?
//변수 안에 값이 있다면 ! 를 쓰면 그 값만 출력 할 수 있다. 
print(str!) // 출력 결과 : Hello 

'Swift' 카테고리의 다른 글

[Swift] var 와 let , method , 타입추론  (0) 2022.02.10
[Swift] 로딩페이지 띄우기, pageViewController  (0) 2021.03.25
[Swift] Object와 문자열  (0) 2021.03.25
[Swift] Alert 띄우기  (0) 2021.03.25
[Swift] ViewController와 button Event  (0) 2021.03.25