[swift] Swift 사용자 입력 처리
Swift에서 사용자로부터 입력을 받아 처리하는 방법에 대해 알아보겠습니다.
1. 사용자로부터 입력 받기
Swift에서 사용자로부터 입력을 받기 위해서는 readLine()
함수를 사용합니다. 이 함수는 사용자로부터 입력된 값을 문자열로 반환합니다.
let input = readLine()
print("입력받은 값은: \(input ?? "")")
위의 예제에서는 readLine()
함수를 호출하여 사용자로부터 입력을 받은 후, input
변수에 할당합니다. 그리고 입력받은 값을 출력할 때에는 옵셔널 체이닝을 이용하여 nil
일 경우에는 빈 문자열을 출력하도록 처리하였습니다.
2. 사용자로부터 입력 받은 값의 형 변환
readLine()
함수는 사용자로부터 입력을 받을 때 항상 문자열로 반환합니다. 때문에 만약 입력받은 값을 숫자로 사용해야 한다면, 해당 값을 숫자형으로 변환해주어야 합니다.
let input = readLine()
let number = Int(input ?? "") ?? 0
print("입력받은 숫자는: \(number)")
위의 예제에서는 입력받은 값을 Int()
함수를 이용하여 Int
타입으로 변환하였습니다. 이때 Int()
함수는 옵셔널 체이닝을 사용하여 nil
일 경우에는 0
으로 반환하도록 처리하였습니다.
3. 입력값 검증하기
사용자 입력을 받을 때에는 입력값의 유효성을 검증해야 하는 경우가 많습니다. 이를 위해서는 조건문을 이용하여 해당 조건을 만족하지 않을 경우에는 다시 입력을 요구할 수 있습니다.
var input: String?
repeat {
print("숫자를 입력하세요:")
input = readLine()
let number = Int(input ?? "") ?? 0
if number <= 0 {
print("잘못된 입력입니다. 0보다 큰 숫자를 입력해주세요.")
}
} while (input == nil || Int(input ?? "") ?? 0 <= 0)
print("입력받은 숫자는: \(Int(input ?? "") ?? 0)")
위의 예제에서는 입력받은 값이 0보다 작거나 같은 경우에는 잘못된 입력으로 처리하여 다시 입력을 요구하는 과정을 반복합니다. 올바른 입력이 들어올 때까지 계속해서 입력을 받습니다.