본문 바로가기

스위프트13

[스위프트] 클로저(Closures) 스위프트에서 클로저라는 기능은 일회용 함수를 작성할 수 있는 구문이다. 작성방식은 워낙에 다양하지만 일회용으로 함수를 작성하다 보니 함수명이 필요 없어 익명함수라고 부르기도 한다. 클로저는 이미 다른 언어들에도 존재하는 기능인데, 다른 언어에서는 다음과 같이 부른다. 자바스크립트 - 익명함수 자바 - 람다함수 파이썬 - 람다함수 아마 대충 어떤 내용이 나올지 예상이 될 것이다. 원래 클로저 자체는 세 가지를 의미한다. • 전역함수 • 중첩함수 • 클로저 표현식 여기서 살펴볼 내용은 클로저 표현식에 중점을 둘 것이다. 클로저의 표현식 우선 클로저는 기본적으로 함수이기 때문에 함수의 기본적인 형태를 따르나 일회용이기 때문에 많은 부분이 생략된다. 차차 알아가 보자. //기본적인 형식 { (매개변수) -> 반.. 2023. 7. 10.
[스위프트] 튜플(Tuple) 사용법 & 예시 튜플(Tuple) 튜플은 타입의 종류에 관계없이 다양한 데이터를 넣을 수 있다. 그러나 상수적 성격을 띄기 때문에 처음 생성시에 넣은 값을 제외하고 값을 추가할 수 없다. 마치 let(상수)같다. 튜플의 특징은 다음과 같다. • 데이터 타입에 관계없이 모든 값을 섞어서 넣을 수 있다. • 한번 생성된 튜플은 수정할 수 없다. • 소괄호를 사용해 선언하기 때문에 별도의 선언문이 따로 없다. • 인덱스에 .n 으로 접근한다. • 바인딩 방식을 통해 한번에 할당도 가능하다. 이 점을 이용해 함수에서 튜플로 한번에 여러개의 값을 반환할 수 있다.(함수 부분에서 설명하겠다.) 선언 및 초기화 var tupleValue = (1, 2, 3.141592, "안녕하세요", true)//이렇게 타입을 안써도 되지만 va.. 2023. 7. 7.
[스위프트] 집합(Set) 사용법 & 예시 집단 자료형(Collective Types) 서로 관련이 있는 자료들을 모아서 관리하기 편하게 만든 것이 집단 자료형이다. 이때 서로 관련이 있다는 말은 자료형이 같거나 한 가지 주제에 속해있는(예를 들면 신체 정보 - 키, 몸무게, 나이 등) 자료들을 말한다. 집합 자료형의 종류는 다음과 같다. • 배열(Arrays) • 집합(Set) • 딕셔너리(Dictionary, 사전) 이 중 집합(Set)을 알아보자. 집합(Set) 순서(인덱스)와 중복이 없는, 같은 타입만 저장할 수 있는 집단 자료형이다. 순서가 없기 때문에 1, 2, 3, 4, 5의 순서로 생성해도 순서가 뒤바뀔 수 있다. 또한 중복이 없어서 1, 1, 1, 1, 2 로 생성하면 1, 2 로 저장된다. 스위프트에서 집합의 특징은 다음과 같다.. 2023. 7. 7.
[스위프트] 배열(Arrays) 사용법 & 예시 집단 자료형(Collective Types) 서로 관련이 있는 자료들을 모아서 관리하기 편하게 만든 것이 집단 자료형이다. 이때 서로 관련이 있다는 말은 자료형이 같거나 한가지 주제에 속해있는(예를들면 신체 정보 - 키, 몸무게, 나이 등) 자료들을 말한다. 집합 자료형의 종류는 다음과 같다. • 배열(Arrays) • 집합(Set) • 딕셔너리(Dictionary, 사전) 이 중 배열(Arrays)을 알아보자. 배열 배열은 같은 자료형의 값들을 일련의 순서(인덱스; Index)로 저장한 자료형이다. 인덱스가 있기 때문에 값을 인덱스로 찾아 바로 접근할 수 있어 편리하다. 또한 인덱스는 자동으로 생성되는 것이기 때문에 중간에 생략되거나 임의로 바꿀수는 없으나 값끼리 순서를 바꿀수는 있다. 스위프트에서 배.. 2023. 7. 3.
[스위프트] 반복문(for ~ in, while, repeat ~ while) 종류와 사용법 일반적으로 언어가 작성되고 실행되는 순서 및 방향들(흐름)을 제어하는 것을 흐름 제어 구문, 흐름 제어문, 제어 흐름 여러가지로 부르는데, 필자는 흐름 제어 구문으로 칭하겠다. 흐름 제어 구문의 종류에는 여러가지가 있는데 일반적으로는 다음의 세가지를 가장 많이 얘기한다. • 반복문(Loop Statements) • 조건문(Conditional Statements) • 제어 전달문(Control Transfer Statements) 이중 반복문에 대해 알아보자. 반복문(Loop Statements) for • 실행 횟수를 정확히 알때 • 특정 범위 안에서 반복해야 할때 위 두가지 경우에 for문을 사용한다. //기본적인 문법은 아래와 같다. for 루프 변수 in 순회 대상 { //실행될 내용 } //예시.. 2023. 7. 2.
[스위프트] 비트 연산자 종류와 사용법 비트 연산자는 글을 쓰다보니 길어져 따로 쓰는게 나을것 같았다. 비트 연산자 비트값을 바로 비교해 사용하기때문에 매우 빠르다는 장점이 있다. 그러나 좀 헷갈릴 수 있다. 주의해서 사용하도록 하자. 1. &(AND) 두 비트값을 비교해서 비트값을 둘다 1이면 1로 둘다 0이면 0으로 만든다. var first: UInt8 = 0b11110000 var second: UInt8 = 0b01110000 var result = String(first & second, radix: 2)//01110000 /* * 11110000 * 01110000 * ----------- * 01110000 */ 2. |(OR) 두 비트중 하나라도 1이면 1로 만든다. var one: UInt8 = 0b10110000 var t.. 2023. 7. 2.
[스위프트] 연산자 종류와 사용법 산술 연산자 사칙연산에 쓰이는 연산자 연산자 사용 예 의미 + a + b 더하기 - a - b, -a 빼기 or 부호변환 * a * b 곱하기 / a / b 나눈 몫 % a % b 나눈 나머지 비교 연산자 값을 비교할 때 쓰는 연산자. 주로 조건식에서 쓰인다. 연산자 사용 예 의미 a > b a보다 b가 크면 true, 아니면 false = b a보다 b가 같거나 크면 true, 아니면 false == a == b a와 b가 같으면 true, 아니면 false != a != b a와 b가 다르면 true, 아니면 false 논리 연산자 논리적으로 참, 거짓을 가릴때 사용한다. 연산자 사용 예 의미 ! !a a가 true이면 false, false면 true && a && b a와 b 모두 true면 tr.. 2023. 7. 2.
[스위프트] String과 Character String String형은 문자열을 저장할 때 사용하는 자료형이다. 스위프트는 안정성을 위해 타입추론기가 열일하는데 그 때문에 문자나 문자열을 명시적으로 선언하지 않으면 한 글자만 써도 무조건 String으로 저장된다. var name = "김철수" var year: String = "1999-01-01" let name2 = "김영희" var oneString = "아" //이 경우도 역시 String이다. Character Character형, 일명 char형은 한개의 문자("a", "아", "*")를 저장할때 사용한다. 앞서 말했듯이 명시적으로 char형으로 선언하지 않으면 자동으로 String으로 바꾸기 때문에 char형을 쓰려면 반드시 명시적으로 선언해야 한다! var first: Charac.. 2023. 7. 1.
[스위프트] Bool Bool 참(true), 거짓(false)을 저장하는 자료형이다. 주로 조건문의 조건식에 많이 쓰인다. 기본적인 선언은 이렇다. var good = true let bad = false 반복문이나 if문에서 쓰려면 아래처럼 쓴다. //if문에서 쓸 때 var good = true if good { print("good is true") } else { print("good is false") } //이때는 good이 true를 갖기 때문에 good is true 출력. //혹은 아래처럼 쓸 수 있다. var temp = 1 > 2 if temp { print("true") } else { print("false") } //이때는 false가 출력된다. //while문에서 쓸때 var temp = true.. 2023. 7. 1.
728x90