드디어 두근두근 Swift문법을 공부할 시간이 왔습니다 !_!
콘솔로그
문자열보간법
주석과 퀵헬프 마크업
상수
변수
기본 데이터 타입 1
기본 데이터 타입 2
타입추론
컬렉션 1
컬렉션 2
컬렉션 3
조건문
반복문
함수
옵셔널
구조체
클래스
- 프로퍼티
- 메서드
- 접근제어
구조체와 클래스의 차이
값타입과 참조타입의 차이
클로저
프로토콜
익스텐션1
익스텐션2
상속과 익스텐션 비교
print : 단순문자열 출력
dump : 객체에 자세한 설명까지 출력
class Person {
var nickname: String = ""
}
let hansua: Person = Person()
hansua.nickname = "두두"
dump(hansua)
/* 출력결과
__lldb_expr_11.Person #0
- nickname: "두두"
*/
문자열내에 변수와 상수에 값을 출력하기 위해서 사용함
\ (변수나상수)
let name: String = "Hansua"
print("제 이름은 \(name) 입니다.")
Swift는 중첩주석을 지원합니다.
XCode에 퀵헬프기능이 있어 마크업 문법에 맞춰 주석을 작성하면 효율적입니다.
마크업은 간단한 문자 기반 구분 기호를 사용하여 플레이그라운드 및 Swift 기호에 대한 빠른 도움말에서 서식이 지정된 텍스트를 표시합니다.
애플 Markup Formatting Reference문서 참조
// 한줄 주석
/*
여러줄 주석
*/
/* 주석시작
/* 중첩주석
// 한줄주석추가
*/
이부분도 주석됨
*/
Swift는 함수형 프로그래밍의 패러다임을 채용한 언어이므로 불변 객체를 중요시합니다.
let 키워드를 사용하여 상수를 생성할 수 있습니다.
let [상수명] : [데이터타입] = [값]
var 키워드를 사용하여 변수를 생성할 수 있습니다.
var [변수명] : [데이터타입] = [값]
// 상수의 선언
let 이름 : 타입 = 값
// 변수의 선언
var 이름 : 타입 = 값
타입이 명확하면 생략이 가능하나, 너중에 값을 넣어줄 때는 꼭 타입을 명시해주어야 합니다.
// 1. 타입이 명확한 경우(타입 생략 가능)
let integer = 1
var strings = "This is string"
// 2. 값을 나중에 할당하는 경우(타입 명시)
let name : String
let age : Int
name = "sua"
age = 24
Int : +,- 부호를 포함한 정수
UInt : 0을 포함한 양의 정수
Bool : 참(true),거짓(false)만 값으로 가짐. 0,1은 타입에러
Float : 32비트 부동소수 표현 (소수점 6자리)
Double : 64비트 부동소수 표현 (소수점 15자리)(권장)
nil : 없음. 값이들어있지않고 비어있음을 나타내는 키워드
Character : 한문자 (swift는 유니코드문자를 사용, 모든언어 및 특수문자 사용가능)
String : 문자열, 유니코드를 사용하여 문자열앞뒤에 큰따옴표를 사용하여 표현
특수문자/제어문자 : 문자열내에 일정기능을하는 특수문자 ( \n, \ , * , \t ,\0 )
Any : 모든 데이터 타입
AnyObject : 제한적인 Any, 클래스에 인스턴스만 할당가능