본문 바로가기

DEV

(14)
[Swift] Struct (구조체) 구조체 역시 함수와 같은, 관련 작업을 위해 모아 둔 코드 덩어리. 구조체는 함수보다 더 넓은 개념으로 사용되며, 구조체 안에 함수를 포함시킬 수도 있음(메서드). /* 구조체 */ struct MyStruct { //구조체 내 변수,상수는 '프로퍼티'로 불림 let name:String = "James" let age:Int = 29 //구조체 내 함수는 '메서드'라고 불림 func greeting() { print("Hello!") } } //구조체 인스턴스 생성 let myPerson = MyStruct() //구조체 인스턴스 프로퍼티, 메서드 접근은 점(dot)으로 myPerson.name myPerson.age myPerson.greeting()
[Swift] Function (함수) 많은 프로그래밍 언어에서 제공하는 코드 덩어리들이 있는데, 그 중 하나가 함수. 함수는 그 중 연산에 특화된 코드 덩어리이며, 기본적으로 매개변수를 통해 데이터를 받고, 데이터를 가공하여 반환하는 기능이 강점. 함수명은 다른 코드 덩어리들과는 달리 첫 문자를 소문자로 적는 것이 관행이라고 함. 매개변수가 없는 경우라도 소괄호"(,)"는 반드시 사용. (함수라는 것을 선언하고 변수명과 구분을 위해) /* 함수 */ //함수는 특정 작업을 위해 모아둔 코드 덩어리 //func ([매개변수명]:[매개변수형]) -> [반환형] { [코드] } //반환값이 없는 기본적인 코드 func greeting() { //반환형을 생략도 가능하고, void로 명시도 가능 print("Hello, World!") print(..
[Swift] Loops (반복문) 반복문은 크게 for-in문, while문이 있음. ForEach도 있지만 종류가 좀 다르고 클로져를 먼저 알아야 하기 때문에 나중에 따로 작성함. //루프변수는 반복문 안에서만 사용됨. 범위는 배열, 또는 1...5 등으로 지정 for [루프변수] in [범위] { [코드] //반복 때 마다 실행될 코드 } //while문은 비교연산에서 '참'일 경우 계속 반복되는 반복문. while [비교연산] { [코드] } /* 반복문 */ //for 반복문 let forNum:[Int] = [3, 4, 3, 4, 3] for index in forNum { print(index) } //while 반복문 var whileNum:Int = 0 while whileNum < 3 { whileNum += 1 prin..
[Swift] Conditional Statement (조건문) 조건문은 코드를 분기시켜 실행하게끔 함. 크게 if-else문과 switch-case문이 있음. if [비교연산] { [코드] } //비교 후 조건이 참일 경우 내부 코드 실행 else if [비교연산] { [코드] } //위의 조건에 부합하지 않는다면 다음 조건 비교 else { [코드] } //위의 어떠한 조건에도 해당되지 않을 때 실행되는 코드 삽입 switch [비교대상] { case [조건1]: [코드] case [조건2]: [코드] } var year = 2021 if year >= 2022 { print("Future") } else if year < 0 { print("BC") } else { print("AD") } switch year { case 2021: //기본적으로 이 조건에 해..
[Swift] Collection Type (배열) Swift에서 Collection Type은 배열, set, dictionary 3가지로 볼 수 있음. 배열은 축약형으로도 쓰이며, 사실상 가장 많이 쓰는 타입. let myArray = [1, 2, 3, 4] //데이터 타입 생략 가능 var iArray: [Int] //가능 /* 콜렉션 타입 */ //Array: 순서가 있는 리스트 컬렉션 var intArray: Array = Array() intArray.append(1) //첫 공간에 1 입력 intArray.append(100) //다음 공간에 100 입력 //print("intArray 배열에 '100'이 있나요?: \(intArray.contains(100))") //contains intArray.remove(at: 0) //0번째 값 삭..
[Swift] 데이터 처리 (변수와 기초 연산) 데이터 처리를 하는 이유 예를들어 게임할 때 케릭터 이름을 지정해 주었다고 한다면 그 이름은 NPC가 부를 때에나, 채팅창에 사용자 구분을 위해 필요함. 케릭터 이름을 변수라는 데이터 바구니에 넣고 처리를 하는 것이 이러한 데이터 처리가 필요한 이유임. [키워드] [데이터이름]:[데이터타입] = [데이터값] 키워드: let(상수), var(변수) 타입: Int(정수), Double(실수), String(문자열), Bool(참거짓) 주의사항 데이터타입 첫 문자는 대문자여야 함. 문자열(String)의 값은 "따옴표"로 묶어줘야 함. 데이터 삽입은 "=" 기준으로 왼쪽에 바구니인 변수, 오른쪽에 담을 내용인 값 ("a = 5"라는 것은 a라는 변수에 5값을 대입하는 것) /* 상수와 변수, 테이터 타입 */..