반응형
- 상수와 변수
// 상수
let a: Int = 20
// 변수
var b: Int = 100
- 컬렉션 타입
// Array
// 데이터 타입의 값들을 순서대로 저장하는 리스트
var numbers: Array<Int> = Array<Int>()
var names: [String] = []
numbers.append(1) // 추가
numbers[0] // 조회
numbers.insert(1, at: 2) // index로 추가
numbers.remove(at:0) // index로 삭제
// Dictionary
// 순서없이 key, value 한 쌍으로 데이터를 저장하는 컬렉션 타입
var dic: Dictionary<String, Int> = Dictionary<String,Int>()
var dic: [String, Int] = [:]
var dic: [String, Int] = ["ked":1]
dic["kim"] = 2 // 추가 및 수정
dic.removeValue(forKey: "ked") // key값으로 삭제
// Set
// 같은 데이터 타입의 값을 순서없이 저장하는 리스트
var set: Set = Set<Int>()
set.insert(10)
set.remove(10)
- 함수선언
/*
func 함수명(파라미터 이름: 데이터 타입) -> 반환타입 {
return 반환 값
}
*/
func sum(a: Int, b: Int) -> Int {
return a+b
}
sum(a:5, b:3)
func hello() -> String {
return "Hello"
}
hello()
func greeting(friend: String, me: String = "gunter") {
print("Hello, \(frend)! I'm \(me)")
}
greeting(friend: "Albert")
// 전달인자 레이블
func sendMessage(from myName: String, to name: String) -> String {
return "Hello \(name)! I'm \(myName)"
}
sendMessage(from: "Gunter", to: "Json")
// wildcard 식별자
func sendMessage(_ name: String) -> String {
return "Hello \(name)"
}
sendMessage("ked")
// 가변 매개변수
func sendMessage(me: String, friends: String...) -> String {
return "Hello \(friends)! I'm \(name)"
}
sendMessage(me: "ked", friends: "Json", "Alber", "Stella")
- 조건문
// if else 문
let age = 12
if age < 19 {
print("미성년자 입니다.")
} else if age > 60 {
print("노년입니다.")
} else {
print("성년입니다.")
}
// switch 문
let temperature = 30
switch temperature {
case -20...9:
print("겨울")
case 10...14:
print("가을")
case 15...30:
print("봄,여름")
default:
print("해당없음")
}
- 반복문
// for 문
for i in 1...4 {
print(i)
}
let array = [1,2,3,4,5]
for i in array {
print(i)
}
// while 문
var number = 5
while number < 10 {
number+=1
}
// repeat 문
var x = 6
// 1번은 무조건 실행
repeat {
x+=2
} while x < 5
- 옵셔널
var name: String? // nil
var optionalName: String? = "ked"
var requiredName: String = optionalName // 에러
print(optionalName) // Optional("ked")
// 옵셔널 바인딩
// 강제 해제
print(optionalName!) // "ked"
// 비강제 해제
if let result = optionalName {
print(result) // "ked"
} else { // 값 추출 실패
}
func test() {
let number: Int? = 5
// 참이면 그대로 통과, 거짓이면 else문
guard let result = number else { return }
print(result)
}
test() // 5
// 묵시적 해제
let value: Int? = 6
if value == 6 {
print("6")
} else {
print("6이 아님")
}
let str = "12"
var stringToInt: Int? = Int(str) // 에러
print(stringToInt + 1)
var stringToInt: Int! = Int(str)
print(stringToInt + 1) // 13
반응형
'개발자의 삶 > Swift' 카테고리의 다른 글
[Swift] 기초 문법3 (0) | 2023.02.10 |
---|---|
[Swift] 기초 문법2 (0) | 2023.02.10 |