변수선언
var 변수이름
상수선언
let 변수이름
Type Annotation
var 문자열변수이름 : String
let 정수형변수이름 : Int
var 실수형변수이름 : Float
Type Inference
숫자는 정수형 변수라고 판단, " "로 둘러쌓여 있으면 문자열 변수라고 판단
형변환
(Float)정수형변수이름 + 실수형변수이름
String(정수형변수이름) + "어쩌구 저쩌구" + 문자열변수이름 + "어쩌구 저쩌구"
"\(정수형변수이름) 어쩌구저쩌구 \(문자열변수이름) 어쩌구저쩌구"
Array
var 배열이름 = ["A", "B", "C"]
var 배열이름[string] = [] //빈 배열
var 배열이름 = [string]() //빈 배열
var 배열이름[string] = ["A", "B", "C"]
배열 순환
for 인자 in 배열
Dictionary
var 딕셔너리이름 = ["A" : "a", "B":"b", "C":"c"]
var 딕셔너리이름[String:String] = [:] //빈 Dic
var 딕셔너리이름 = [String:String]() //빈 Dic
var 딕셔너리이름[String:String] = ["A" : "a", "B":"b", "C":"c"]
Dic 순환
for (Upper, Lower) in 딕셔너리이름
Optional
어떤 값을 가지고 있거나 혹은 nil
var 옵셔널변수이름:String? //값으로 nil이 들어감
Optional Binding
Optional 변수의 값이 있는지 확인 후 있으면 가져올 수 있음
if let 문자열변수 = 옵셔널변수
print(문자열변수) //옵셔널변수에 값이 있으면 출력, 아니면 안됨
Optional Chaining
어떤 배열이 비어 있는지 확인할 수 있음
let isEmptyArray = 확인하고자하는배열이름?.empty == true
옵셔널변수에 값이 있다고 가정하고 접근하는 방법
옵셔널변수! //값이 nil 일 때는 Runtime error 일으킴으로 조심
Implicitly Unwrapped Optional
var 변수이름 : String! = "값"
조건문
if 정수형변수 > 10
{ }
else if 정수형변수 > 5
{}
else
{}
함수
1. 일반 정의
정의
func 함수이름 (파라먼트이름:타입, 파라컨트2이름:타입) -> 반환타입
func whoAreYou(name:String, age:Int) -> String
{
}
호출
함수이름(파라먼트이름:"값", 파라컨트2이름:"값")
whoAreYour(name:"Moon", age:"20")
2. 파라미터 이름과 함수 내부에서 사용하는 이름을 다르게 사용하고 싶을 때
정의
func 함수이름(외부파라미터이름 내부파라미터이름:타입)
func whoAreYou(name firstName:String, age ageOfpeople:Int)
호출
whoAreYou(name:"Moon", age:"20")
3. 파라미터 이름 사용 안하고 싶을 때
정의
func 함수이름(_ 파라먼트이름:String)
호출
4. 파라미터 기본 값 지정
정의
func 함수이름 (파라미터이름:타입, 파라미터이름2:타입 = 1)
func whoAreYou(name:String, age:Int = 1)
호출
whoAreYou(name:Moon)
5. Variadic Parameters
정의
func 함수이름(_ 변수이름:타입...) -> 반환타입
func sum(_ numbers:Int...) -> Int
호출
sum(1,2) / sum(1,2,3,4)
Closure
Range 표현
0..<100 //0부터 100까지
비어있는지 검사
문자열변수.isEmpty
정수형변수.isEmpty