검색결과 리스트
스위프트 프로그래밍에 해당되는 글 2건
- 2016.06.01 swift switch구문 편! 2
- 2016.05.27 Swift programming language Guard구문! :)
// 반갑습니다, 에르의 생각발전소입니다 :)
// 이번 시간 다뤄볼 주제는 switch구문입니다!
/* switch 구문
switch 비교 대상 {
case pattern 1 :
statement
case pattern 2 :
statement
default :
statement
}
다양한 가능성이 있는 여러개의 조건 비교에 효율적으로 사용하기위해
if~ else if 구문 보다는 swift구문이 더 적합하다고 할 수 있습니다.
case pattern 마다 조건을 제시하고 default값에는 모든 변수를 대변할 구문을 실행합니다.
기존의 C언어나 자바 등 많은 언어에도 switch구문이 있지만, 스위프트의 switch구문과의 차이점이 있습니다.
스위프트의 switch구문은 일치하는 패턴이 있을 경우 해당 패턴과 일치하는 블록의 실행 코드를 처리한 후 전체 분기문을 종료하고
다음 구문을 진행합니다.
뒤에 일치하는 패턴이 더 있더라도, 맨 처음 일치하는 case구문만 실행합니다.
그리고 기존의 C나 자바는 추가적으로 일치하는 case구문이 있더라고 실행됩니다.
break구문이 따로 있어야만 멈추는게 기존 언어들의 특징이지요.
이부분에서는 스위프트가 진화했다고도 볼 수 있을 것 같습니다.
var con = 1
switch con {
case 1 :
print("해당 값은 1 입니다.")
case 2 :
print("해당 값은 2 입니다.")
case 3 :
print("해당 값은 3 입니다.")
default :
print("어느 조건과도 일치하지 않습니다.")
}
// break구문에 대해서 말씀드렸는데,
// 스위프트에서도 타언어처럼 사용할 수 있는 장치가 있습니다.
// 바로 fallthrough 기능입니다.
// fallthrough를 삽입하면, 해당 케이스는 무시하고 다음 케이스로 이동합니다.
// 아래 예제를 보시지요!
let test : Character = "L"
switch test {
case "l" :
print("글자는 l입니다.")
case "L":
fallthrough
default :
print("일치하는 글자가 없슴당")
}
// case "L"에 해당되는 값임에도 fallthrough가 붙어있음으로써, default값이 실행되었습니다.
// 명시적으로 구분해서, 좀 더 스위치구문을 탄탄히 만들 수 있습니다.
// 위 예제들 실행시 나오는 값들 사진입니다 :)
도서 리뷰] Learning JavaScript Feat, 한빛미디어 (0) | 2017.08.16 |
---|---|
Swift Fall Through구문 편! (0) | 2016.07.23 |
Swift programming language Guard구문! :) (0) | 2016.05.27 |
160515 Swift IF문! 조건문에 대해서 :) (0) | 2016.05.15 |
160513 Swift While 구문편 :) (0) | 2016.05.14 |
안녕하세요~ 에르의 생각발전소입니다 :)
이번 시간에 다뤄볼 주제는 GUARD 구문 입니다!
저번 시간에 다뤄보았던 if 구문에 이어 guard 역시
if구문의 친구랍니다 :)
새로운 플레이그라운드를 열어 따라해주세요
// guard 구문!
// guard 구문도 if구문처럼 주어진 식이 참인지 거짓인지 판단하는 구문인 반면,
// 차이점은 guard구문에는 else가 필수이나, 식의 결과가 참일 때는 실행되는 식이 없다는 점입니다. 그리고 if 구문과 guard 구문은 사용자의 방식에 따라서 서로 상호호환이 가능합니다.
// guard 조건 혹은 표현식 else {
// 실행구문
// } 가드구문의 기본 식입니다!
// 가드구문은 주로 뒤 코드가 특정조건을 만족하는지 실행전에 미리 점검하기위한 용도로 사용합니다. 예제를 보시죠
func divide(base:Int) {
let result = 100/base
print(result)
}
// 함수를 하나 만들었습니다. 디바이드라는 이름을 가진 함수는 베이스라는 인트타입의 베이스라는 이름의 매게변수를 가지며, 리슐트라는 상수는 베이스 나누기 100이다. 그리고 그 값을 출력하라! 만약 여기서 베이스의 값이 0 이라면? 에러가 발생합니다. 고로, 이런 에러를 방지하기위해
func guraddivide (base : Int) {
guard base != 0 else {
print("값을 다시 확인해주세요.")
return
}
let result = 100 / base
print(result)
}
// 가드를 사용하여, 일종의 안전벨트 혹은 퓨즈를 설계할 수 있습니다.
// 그래서 값이 0 일 경우 가드구문이 실행되며, 함수를 종료시키는 반면 0 이상일 경우 아래 구문을 실행시키는거죠
// 위에서 말씀드렸다시피 가드구문과 이프구문은 호환이 가능합니다!
func ifdivide (base : Int) {
if base == 0 {
print("연산이 불가함.")
return
}
let result = 100 / base
print(result)
}
//가드대신 이프로 만약 베이스가 0일 경우 함수를 끝내도록 설계되어있습니다.
// 여기서 큰~ 차이점은 가드구문은 연산의 필요 조건을 충족시킨다면,
// 이프구문은 실패할 조건을 충족시켜야합니다! 꼭 기억해주세요!
2016/04/19 - [프로그래밍발전소 ♫] - 160418 swift 란? 스위프트 언어에 대해서 알아봅시다. let과 var편
2016/04/20 - [프로그래밍발전소 ♫] - 160419 Swift part.2 String과 Numbers에 대해서
2016/04/23 - [프로그래밍발전소 ♫] - 160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스
2016/04/25 - [프로그래밍발전소 ♫] - 160424 collection Array 편 :)
2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift Collection: Dictionary 와 Set
2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift 구문편! if, for, switch 까지!
2016/05/06 - [프로그래밍발전소 ♫] - 160506 Swift Optional 스위프트의 꽃! 옵셔널에 대해 알아보자!
2016/05/07 - [프로그래밍발전소 ♫] - 160507 Swift Optional 스위프트의 꽃 옵셔널! 마지막편!
2016/05/07 - [프로그래밍발전소 ♫] - 160507 Swift Function 이번엔 프로그래밍의 꽃! 함수편!
2016/05/12 - [프로그래밍발전소 ♫] - 160512 Swift Function 스위프트 함수편!
2016/05/12 - [프로그래밍발전소 ♫] - 160512 Swift 단순 구문 , 흐름 제어 구문 for , for ~ in구문 :)
2016/05/13 - [프로그래밍발전소 ♫] - 160513 Swift While 구문편 :)
2016/05/15 - [프로그래밍발전소 ♫] - 160515 Swift IF문! 조건문에 대해서 :)
Swift Fall Through구문 편! (0) | 2016.07.23 |
---|---|
swift switch구문 편! (2) | 2016.06.01 |
160515 Swift IF문! 조건문에 대해서 :) (0) | 2016.05.15 |
160513 Swift While 구문편 :) (0) | 2016.05.14 |
160512 Swift 단순 구문 , 흐름 제어 구문 for , for ~ in구문 :) (0) | 2016.05.13 |
RECENT COMMENT