사용자 입력 받기
Coddy Rust 여정의 기초 섹션에 포함된 레슨. 75개 중 30번째.
지금까지 우리는 코드에 값을 직접 작성하는 프로그램을 만들어 왔습니다. 하지만 실제 프로그램은 종종 사용자와 상호 작용하고 사용자로부터 정보를 받아야 합니다.
Rust에서 사용자로부터 입력을 받는 작업은 std::io 라이브러리를 사용하여 수행합니다. 이 라이브러리는 정수, 부동 소수점 숫자, 문자열과 같은 다양한 유형의 입력을 읽는 메서드를 제공합니다.
std::io 라이브러리를 사용하려면 먼저 이를 가져와야 합니다:
use std::io;사용자로부터 입력을 읽으려면 두 줄의 코드가 필요합니다:
let mut my_var = String::new();
// 입력을 저장할 빈 문자열을 생성합니다
io::stdin().read_line(&mut my_var).unwrap();
// 입력을 읽습니다이렇게 하면 입력 값이 문자열 유형으로 my_var 변수에 저장됩니다.
숫자를 얻으려면 텍스트 입력을 숫자로 변환하는 추가 단계가 필요합니다:
let age: i32 = input.trim().parse().unwrap();.trim()이 필요한 이유는 사용자가 Enter를 누르면 입력에 줄바꿈 문자가 추가되기 때문입니다. 예를 들어 누군가 "25"를 입력하고 Enter를 누르면 실제 입력은 "25\n"이 됩니다. .trim()은 입력의 시작과 끝에서 이러한 추가 공백 문자(공백, 줄바꿈 등)를 제거합니다.
지금은 unwrap()에 대해 너무 걱정하지 마세요. 나중에 이에 대해 배우게 될 거예요. 다만 이것이 잠재적인 오류를 간단한(완벽하지는 않지만) 방식으로 처리하는 데 도움이 된다는 점만 알아 두세요.
챌린지
초급사용자로부터 입력(이름)을 받은 다음 Hello, 를 출력하고 사용자가 입력한 이름과 느낌표를 이어서 출력하는 프로그램을 작성하세요.
예를 들어 사용자가 Bob을 입력하면 예상 출력은 Hello, Bob!입니다.
다음 작업이 필요합니다:
String객체를 생성하여 입력을 읽으세요.- 사용자에게 이름을 입력하라고 안내하세요: "
Enter your name:" - 적절한
std::io메서드를 사용하여 사용자의 이름을 읽으세요. - 저장된 이름 앞에
Hello,를 출력하고 끝에 느낌표!를 출력하세요.
직접 해보기
use std::io;
fn main() {
// String 객체를 생성합니다
let mut name = String::new();
// 사용자에게 이름을 입력하도록 요청합니다 (println 사용)
// 사용자의 이름을 읽습니다
// 인사 메시지를 출력합니다
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 Rust 컴파일러