06.条件文と条件文
条件文
アプリケーションの所定の条件下での異なる動作
ドアが
if文は条件文であり、条件式が真である場合、条件文と一致する結果を実行します.if 조건식1 {
조건1을 만족할 경우 실행할 구문
} else if 조건식2 {
조건2를 만족할 경우 실행할 구문
} else {
만족하지 않으면 실행할 구문
}
スイッチドア
switch文は、変数または定数の標準データを最初に宣言し、これらのデータを複数のモードと比較して結果を一致させる条件文です.switch 비교대상 {
case 패턴1:
비교대상이 패턴1일 경우 실행할 구문
case 패턴2, 패턴3:
비교대상이 패턴2, 3일 경우 실행할 구문
default:
비교대상이 위의 1,2,3 어느 패턴과도 일치하지 않을 때 실행할 구문
}
let temperature = 30
switch temperature {
case -20...9:
print("겨울입니다")
case 10...14:
print("가을입니다")
case 15...25:
print("봄입니다")
case 26...35:
print("여름입니다")
default:
print("이상기후입니다")
}
// "여름입니다"
ガードゲート
関数で使用し、guard文の条件を満たすと、対応する結果が実行されます.
複文
コードを繰り返し実行する構文
複文
for 루프상수(= 보통 i) in 순회대상(= '...'으로 정의하는 범위) {
실행할 구문
}
複文
while 조건식 {
실행할 구문
}
var number = 5
while number < 10 {
number += 1
}
number
// 10
繰り返し
repeat {
실행할 구문
} while 조건식
var x = 6
repeat {
x += 2
} while x < 5
x
// 8
外来の
表示値はあってもなくてもかまいません.var name: String = ""
// 값이 빈 문자열 ""인 것을 의미
var number: Int = 0
// 값이 정수 0인 것을 의미
var name: String?
var name: String? = nil
var name: String? = "Gunter"
// 모두 옵셔널한 상황을 전제하며, 값이 없을 수도(nil) 있음을 의미
var number: Int?
var number: Int? = nil
var number: Int? = 10
// 모두 옵셔널한 상황을 전제하며, 값이 없을 수도(nil) 있음을 의미
不人気な変数に不人気な値を代入することはできません.ゆったりした価格でOptional()
形で包装されているからです.var optionalName: String? = "Gunter"
print(optionalName)
// Optional("Gunter")
var requiredName: String = optionalName
// Value of optional type 'String?' must be unwrapped to a value of type 'String'...
これらのパッケージを外して、ゆったりした価格で自由に使えるようにするのが、いわゆる「ゆったりバインド」です.
外部バインド
通関を解除する方法は大きく2つあります.
明示的に無効
強制解除:外来と宣言された変数に!
を加える.変数がnil
であれば危険です!var number: Int? = 3
print(number)
// Optional(3)
print(number!)
// 3
非強制解除(=バインド禁止):条件文を使用して安全に禁止を終了させます.// if문을 활용한 옵셔널 바인딩
if let result = number {
print(result)
}
// 3
// guard문을 활용한 옵셔널 바인딩
func test() {
let number: Int? = 3
guard let result = number else {
return
}
print(result)
}
test()
// 3
黙示の解除
コンパイラによって自動的に閉じるlet value: Int? = 3
if value == 3 {
print("value가 3입니다")
} else {
print("value가 3이 아닙니다")
}
// "value가 3입니다"
タイプ変更による暗示解除 let string = "3"
var stringToInt: Int! = Int(string)
print(stringToInt + 1)
// 4
Reference
この問題について(06.条件文と条件文), 我々は、より多くの情報をここで見つけました
https://velog.io/@lattepapa/06.-조건문과-옵셔널
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
if 조건식1 {
조건1을 만족할 경우 실행할 구문
} else if 조건식2 {
조건2를 만족할 경우 실행할 구문
} else {
만족하지 않으면 실행할 구문
}
switch 비교대상 {
case 패턴1:
비교대상이 패턴1일 경우 실행할 구문
case 패턴2, 패턴3:
비교대상이 패턴2, 3일 경우 실행할 구문
default:
비교대상이 위의 1,2,3 어느 패턴과도 일치하지 않을 때 실행할 구문
}
let temperature = 30
switch temperature {
case -20...9:
print("겨울입니다")
case 10...14:
print("가을입니다")
case 15...25:
print("봄입니다")
case 26...35:
print("여름입니다")
default:
print("이상기후입니다")
}
// "여름입니다"
コードを繰り返し実行する構文
複文
for 루프상수(= 보통 i) in 순회대상(= '...'으로 정의하는 범위) {
실행할 구문
}
複文
while 조건식 {
실행할 구문
}
var number = 5
while number < 10 {
number += 1
}
number
// 10
繰り返し
repeat {
실행할 구문
} while 조건식
var x = 6
repeat {
x += 2
} while x < 5
x
// 8
外来の
表示値はあってもなくてもかまいません.var name: String = ""
// 값이 빈 문자열 ""인 것을 의미
var number: Int = 0
// 값이 정수 0인 것을 의미
var name: String?
var name: String? = nil
var name: String? = "Gunter"
// 모두 옵셔널한 상황을 전제하며, 값이 없을 수도(nil) 있음을 의미
var number: Int?
var number: Int? = nil
var number: Int? = 10
// 모두 옵셔널한 상황을 전제하며, 값이 없을 수도(nil) 있음을 의미
不人気な変数に不人気な値を代入することはできません.ゆったりした価格でOptional()
形で包装されているからです.var optionalName: String? = "Gunter"
print(optionalName)
// Optional("Gunter")
var requiredName: String = optionalName
// Value of optional type 'String?' must be unwrapped to a value of type 'String'...
これらのパッケージを外して、ゆったりした価格で自由に使えるようにするのが、いわゆる「ゆったりバインド」です.
外部バインド
通関を解除する方法は大きく2つあります.
明示的に無効
強制解除:外来と宣言された変数に!
を加える.変数がnil
であれば危険です!var number: Int? = 3
print(number)
// Optional(3)
print(number!)
// 3
非強制解除(=バインド禁止):条件文を使用して安全に禁止を終了させます.// if문을 활용한 옵셔널 바인딩
if let result = number {
print(result)
}
// 3
// guard문을 활용한 옵셔널 바인딩
func test() {
let number: Int? = 3
guard let result = number else {
return
}
print(result)
}
test()
// 3
黙示の解除
コンパイラによって自動的に閉じるlet value: Int? = 3
if value == 3 {
print("value가 3입니다")
} else {
print("value가 3이 아닙니다")
}
// "value가 3입니다"
タイプ変更による暗示解除 let string = "3"
var stringToInt: Int! = Int(string)
print(stringToInt + 1)
// 4
Reference
この問題について(06.条件文と条件文), 我々は、より多くの情報をここで見つけました
https://velog.io/@lattepapa/06.-조건문과-옵셔널
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
var name: String = ""
// 값이 빈 문자열 ""인 것을 의미
var number: Int = 0
// 값이 정수 0인 것을 의미
var name: String?
var name: String? = nil
var name: String? = "Gunter"
// 모두 옵셔널한 상황을 전제하며, 값이 없을 수도(nil) 있음을 의미
var number: Int?
var number: Int? = nil
var number: Int? = 10
// 모두 옵셔널한 상황을 전제하며, 값이 없을 수도(nil) 있음을 의미
var optionalName: String? = "Gunter"
print(optionalName)
// Optional("Gunter")
var requiredName: String = optionalName
// Value of optional type 'String?' must be unwrapped to a value of type 'String'...
通関を解除する方法は大きく2つあります.
明示的に無効
強制解除:外来と宣言された変数に
!
を加える.変数がnil
であれば危険です!var number: Int? = 3
print(number)
// Optional(3)
print(number!)
// 3
非強制解除(=バインド禁止):条件文を使用して安全に禁止を終了させます.// if문을 활용한 옵셔널 바인딩
if let result = number {
print(result)
}
// 3
// guard문을 활용한 옵셔널 바인딩
func test() {
let number: Int? = 3
guard let result = number else {
return
}
print(result)
}
test()
// 3
黙示の解除
コンパイラによって自動的に閉じる
let value: Int? = 3
if value == 3 {
print("value가 3입니다")
} else {
print("value가 3이 아닙니다")
}
// "value가 3입니다"
タイプ変更による暗示解除 let string = "3"
var stringToInt: Int! = Int(string)
print(stringToInt + 1)
// 4
Reference
この問題について(06.条件文と条件文), 我々は、より多くの情報をここで見つけました https://velog.io/@lattepapa/06.-조건문과-옵셔널テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol