format! 매크로
Coddy Rust 여정의 Fundamentals 섹션에 포함된 레슨 — 75개 중 70번째.
Rust에서 format! 매크로를 사용하면 텍스트와 변수를 읽기 쉽고 사용자 정의 가능한 방식으로 결합할 수 있습니다. 이 매크로는 println!과 유사하지만, 출력을 콘솔에 인쇄하는 대신 변수에 저장하거나 다른 작업에서 사용할 수 있는 형식화된 문자열을 반환합니다.
가장 간단한 구문은 이름 없는 자리표시자 {}를 사용합니다:
let name = "Alice";
let age = 30;
let formatted = format!("Name: {}, Age: {}", name, age);
println!("{}", formatted);
// 출력: Name: Alice, Age: 30변수 이름을 자리표시자에 직접 사용할 수 있습니다:
let name = "Bob";
let age = 25;
let formatted = format!("Name: {name}, Age: {age}");
println!("{}", formatted);
// 출력: Name: Bob, Age: 25숫자를 사용하여 인수의 위치를 지정할 수 있습니다:
let formatted = format!("{1} {0} {2}", "first", "second", "third");
println!("{}", formatted);
// 출력: second first third형식 지정자를 사용하여 값이 형식화되는 방식을 제어할 수 있습니다:
// 숫자 형식 지정
let pi = 3.1415926;
let formatted_float = format!("{:.2}", pi);
// "3.14"
// 0으로 채우기
let padded = format!("{:0>5}", "123");
// "00123"챌린지
쉬움다음의 정확한 규칙을 사용하여 이름과 출생 연도로부터 비밀 코드를 생성하는 프로그램을 작성하세요:
- 이름의 첫 글자를 가져와 대문자로 만듭니다.
- 연도의 숫자를 역순으로 뒤집습니다.
- 첫 글자를 "⭐" 기호로 감쌉니다.
- 감싸진 글자와 뒤집힌 연도 사이에 "-"를 추가합니다.
문자열을 뒤집으려면 다음 코드를 사용하세요: .to_string().chars().rev().collect::<String>()
치트 시트
format! 매크로는 텍스트와 변수를 결합하여 변수에 저장할 수 있는 형식화된 문자열을 반환합니다.
이름 없는 자리표시자를 사용하는 기본 구문:
let name = "Alice";
let age = 30;
let formatted = format!("Name: {}, Age: {}", name, age);자리표시자에 변수 이름을 직접 사용하기:
let name = "Bob";
let age = 25;
let formatted = format!("Name: {name}, Age: {age}");숫자로 인자 위치 지정하기:
let formatted = format!("{1} {0} {2}", "first", "second", "third");
// Output: "second first third"출력 제어를 위한 형식 지정자:
// Number formatting
let pi = 3.1415926;
let formatted_float = format!("{:.2}", pi); // "3.14"
// Padding with zeros
let padded = format!("{:0>5}", "123"); // "00123"문자열을 뒤집으려면: .to_string().chars().rev().collect::<String>()
직접 해보기
use std::io;
fn main() {
let mut input_name = String::new();
let mut input_year = String::new();
io::stdin().read_line(&mut input_name).unwrap();
io::stdin().read_line(&mut input_year).unwrap();
let name = input_name.trim();
let year: i32 = input_year.trim().parse().unwrap();
// 아래에 코드를 작성하세요
let secret_code =
println!("{}", secret_code);
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.