Swift 자료 링크
https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html
https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html
Swift 스타일 가이드
https://github.com/swift-kr/swift-style-guide-raywenderlich/blob/master/ko_style_guide.md
온라인 Swift 컴파일러 링크
https://www.onlinegdb.com/online_swift_compiler
데이터 타입(자료형)
Bool, Character, Int, Float, Double, String, Void 등이 있음
변수 등록 예시 ) 1) var myNum01 = 10 // 10이라는 초기값을 가지 int형 변수 myNum 생성 infer
2) var myNum02 : Int = 10 // int x = 10; // C/C++
3) var x : Int //초기값을 안주는 경우 type annotation
x= 10//에러
4) var x = 0.0, y = 0.0, z = 0.0
위 1번과 2번 의 예시는 똑같은 10이라는 초기값을 가지 int형 변수를 생성하는 작업이다. 1번이 ": Int"를 쓰지 않고도 똑같은 Int라는 자료형을 가지게 된 이유는 1번이 초기값을 가지고 있어 컴파일러가 타입 추론(type inference)을 할 수 있었기 때문이다. 그렇기에 초기값이 있는 경우 데이터 타입을 필수적으로 명시할 필요는 없다.
* 타입 추론(type inference) - 일반적으로 정수를 입력하면 int형 소수를 입력하면 Double형을 가짐
3번이 에러가 나오는 이유는 ' = ' 의 양쪽에 일관된 공백이 없기 때문임 변수 설정 시 주의
print(x) //출력 함수
https://developer.apple.com/documentation/swift/1541053-print
print 함수 활용
print(1.0, 2.0, 3.0, 4.0, 5.0, separator: " ... ")// Prints "1.0 ... 2.0 ... 3.0 ... 4.0 ... 5.0"
for n in 1...5 { print(n, terminator: "")}// Prints "12345"
print("Int32 Min = \(Int32.min) Int32 Max = \(Int32.max)") // \(출력하고 싶은 변수나 상수)
자료형의 크기 구하기
var x = 10
print(type(of:x)) //Int
let s = MemoryLayout.size(ofValue: x) //8
let t = MemoryLayout.size
print(s, t)
정수 데이터 타입: Int,
모든 정수를 담는 부호있는(signed) , 0과 양수만 담는 부호 없는(unsigned)
8비트, 16비트, 32비트, 64비트 정수를 지원
부동 소수점 데이터 타입: Double
Float(32bit)와 Double(64bit) 타입을 제공, Double형이 기본
부울 데이터 타입 : Bool
참 또는 거짓(1 또는 0) 조건을 처리할 데이터 타입
문자 데이터 타입 : Character
문자, 숫자, 문장 부호, 심볼 같은 유니코드(Unicode) 문자 하나를 저장
*주의 : 초깃값은 작은 따옴표가 아니고 큰 따옴표
var myChar3 : Character = "X" //:Character 생략불가,생략하면 String형임
문자열 데이터 타입 : String
단어나 문장을 구성하는 일련의 문자
저장, 검색, 비교, 문자열 연결, 수정 등의 기능을 포함
문자열 보간(string interpolation)을 사용하여 문자열과 변수, 상수, 표현식, 함수 호출의 조합으로 만들 수도 있음
활용
var userName : String = "Kim" // : String 생략하는 것이 일반적임
var age = 20
var message = "\(userName)의 나이는 \(age)입니다."
print(message) // Kim의 나이는 20입니다.
특수 문자/이스케이프 시퀀스
\n ― 개행
\r ― 캐리지 리턴(carriage return)
\t ― 수평 탭
\\ ― 역슬래시
\" ― 큰따옴표(문자열 선언부에 큰따옴표를 쓰고 싶을 경우에 사용됨)
\' ― 작은따옴표(문자열 선언부에 작은따옴표를 쓰고 싶을 경우에 사용됨)
\u{nn} ― nn 위치에 유니코드 문자를 표현하는 두 개의 16진수가 배치되는 1바이트 유니코드 스칼라
\u{nnnn} ― nnnn 위치에 유니코드 문자를 표현하는 네 개의 16진수가 배치되는 2바이트 유니코드 스칼라
\U{nnnnnnnn} ― nnnnnnnn 위치에 유니코드 문자를 표현하는 네 개의 16진수가 배치되는 4바이트 유니코드 스칼라
변수 : var
기본적으로 변수(variable)는 프로그램에서 사용될 데이터를 저장하기 위한 메모리 공간
변수에 할당된 값은 변경 가능
상수 : let
상수(constant)는 데이터 값을 저장하기 위하여 메모리 내의 명명된 공간을 제공한다는 점에서 변수와 비슷
어떤 값이 한번 할당되면 이후에 변경될 수 없음
반복적으로 사용되는 값이 있을 경우에 유용
변수나 상수 명은 영문자, 숫자, Unicode(이모티콘, 중국어, 한글….)도 가능
튜플(Tuple)
튜플은 스위프트 프로그래밍 언어에서 가장 강력한 기능 중 하나
여러 값을 하나의 개체에 일시적으로 묶는 방법
튜플에 저장되는 항목들은 어떠한 타입도 될 수 있으며, 저장된 값들이 모두 동일한 타입이어야 한다는 제약도 없음
let myTuple = (10, 12.1, "Hi") // myTuple의 자료형 (Int,Double,String)
var myString = myTuple.2// 맨 첫 번째 값은 인덱스 0
print(myString)
1) let (myInt, myFloat, myString) = myTuple
2) let (myInt, _, myString) = myTuple // 2번째 값 버리기
튜플을 생성할 때 각 값에 이름을 할당할 수도 있음
let myTuple = (count: 10, length: 12.1, message: "Hi")
튜플의 가장 강력한 점은 함수에서 여러 값들을 한 번에 반환하는 것 // return myTuple
'잡다한지식 > iOS프로그래밍기초' 카테고리의 다른 글
iOS 학습과정(6주차) - Swift 문법 (0) | 2021.10.05 |
---|---|
iOS 학습과정(5주차) - Swift 문법 (0) | 2021.09.29 |
iOS 학습과정(4주차) - Swift 문법 (0) | 2021.09.23 |
iOS 학습과정(3주차) - Swift 문법 (0) | 2021.09.16 |
iOS 학습과정(1주차) (0) | 2021.09.02 |