再來我們會介紹 println!
的其他用法
參數的序號從 0 開始算,我們可以在 {}
指定要顯示哪個參數
struct A {
aa: i32,
bb: i32,
}
fn main() {
let instance = A { aa: 1, bb: 2 };
println!("第一個:{0}, 第二個:{1}", instance.aa, instance.bb);
}
> cargo run
第一個:1, 第二個:2
如果要先顯示第二個參數呢?
struct A {
aa: i32,
bb: i32,
}
fn main() {
let instance = A { aa: 1, bb: 2 };
println!("第二個:{1}, 第一個:{0}", instance.aa, instance.bb);
}
> cargo run
第二個:2, 第一個:1
如果參數有名稱的話,我們也可以在 {}
指定名稱
struct A {
aa: i32,
bb: i32,
}
fn main() {
let instance = A { aa: 1, bb: 2 };
println!(
"第一個:{first}, 第二個:{second}",
first = instance.aa,
second = instance.bb
);
}
> cargo run
第一個:1, 第二個:2
如果要輸出的值是浮點數,我們可以指定他要到第幾位
整數其實也可以指定,不過因為他的型態是整數,所以不會有小數點出現
來看一下應用在整數會怎樣
struct A {
aa: i32,
bb: i32,
}
fn main() {
let instance = A { aa: 1, bb: 2 };
println!("第一個:{:.2}, 第二個:{:.1}", instance.aa, instance.bb);
}
執行後一樣是顯示整數
> cargo run
第一個:1, 第二個:2
接下來,來看浮點數
struct A {
aa: f64,
bb: f64,
}
fn main() {
let instance = A { aa: 1.1, bb: 2.1 };
println!("第一個:{:.2}, 第二個:{:.10}", instance.aa, instance.bb);
}
> cargo run
第一個:1.10, 第二個:2.1000000000
指定輸出要呈現多少寬度
fn main() {
let say_hello = "Hello".to_string();
println!("打招呼要記得說 {:10}!", say_hello);
}
裡面填多少數字,該輸出就會有多少字元
> cargo run
打招呼要記得說 Hello !
除此之外,我們還可以填充字串進去
fn main() {
println!("打招呼要記得說 {:10}!", "hello");
}
> cargo run
打招呼要記得說 hello !
除了可以填充字串進去外,還可以指定他需要擺在哪個位置,
目前有開頭 / 中間 / 結尾
開頭就不說了,平常的輸出應該都是出現在開頭
位置在中間的話:
fn main() {
println!("打招呼要記得說 {:>10}!", "hello");
}
> cargo run
打招呼要記得說 hello !
位置在結尾的話:
fn main() {
println!("打招呼要記得說 {:^10}!", "hello");
}
> cargo run
打招呼要記得說 hello!
其實還有很多用法,如果各位有興趣的話也可以去查一下
很棒耶,列舉好多不同的用法,^
和>
我都沒用過,另外還有一種寫法,只是我還不太習慣用:
fn main() {
let a = "hello";
let b = 50;
let c = 3.24;
println!("a:{a:10}, b:{b}, c: {c:.4}.");
}
a:hello , b:50, c: 3.2400.