Formatted print, 형식에 맞춰 출력하기.
러스트에서 print 는 macros 로 짜여져있다. 후반에 macro 에 대해 자세히 다룰 예정이다. 또한 macro 는 standard lib 인 std::fmt 에 포함되어 있다.
- 포맷 종류
format!
: 어떠한 text 를 String 으로 포맷팅한다.print!
: 포맷과 비슷하지만 입력된 text 는 콘솔에 표현된다 (io::stdout).println!
: print 와 동일하지만 ln 을 보면 알겠지만 한 줄 추가된다(엔터 친 효과).eprint!
: 포맷과 같지만 text가 standard error 로 프린트된다(io::stderr).eprintln!
: eprint!와 같지만 한 줄 추가된다.
fn main() { let a = "ln이 없을 경우와 있을 경우.".to_string(); let b = "ln이 있을 경우와 없을 경우.".to_string(); print!("{a} :"); print!("한 줄 추가 없이 그대로 나열됨.\n"); println!("-----------------------------"); println!("{b} :"); print!("한 줄 추가된 채로 나열됨. \n "); println!("{1} 보다 {0} 을 먼저 갖춰라.", "인", "예"); //변수 이름 지정 println!("{first}은 바람을 거역해서 {second} 를 낼 수 없지만, {third}이 풍기는 향기는 바람을 거역해서 사방으로 퍼진다.", first="꽃", second="향기", third="선하고 어진 사람"); // : 를 이용해서 포맷하기. println!("10 진수 {}", 69420); println!(" 2 진수 {:b}", 69420); println!(" 8 진수 {:o}", 69420); println!("16 진수 {:x}", 69420); // 공백 나타내기. println!("{number:>5}", number=1); // 공백 값 지정하기. println!("{number:0>5}", number=1); //공백 값을 변수에 지정하기. println!("{number:0>width$}", number=1, width=5); }