t_wの輪郭

Feedlyでフォローするボタン
あれ

u32

2022/2/17 21:14:00
format+演算子によるStringとu32の結合(無理)

Stringu32の結合

+演算子では不可能。formatを使おう。

fn main() {
    let s1 = String::from("Hello, ");
    let s2 = 1234;
    let s3 = s1 + &s2;      // error!!!
    println!("{}", s3);     
}
error[E0308]: mismatched types
 --> src\main.rs:4:19
  |
4 |     let s3 = s1 + &s2;      // error!!!
  |                   ^^^ expected `str`, found integer
  |
  = note: expected reference `&str`
             found reference `&{integer}`

format

2022/2/19 15:00:00

文字列といろんなものを結合できるすごい関数マクロ
Displayが実装されていればなんでも結合できる気がする(要検証)


StringStringの結合

let hello:String = String::from("hello");
let world:String = String::from("world");
let hello_world = format!("{} {}", hello, world);
println!("{}", hello_world);   //hello world

String文字列リテラル&str)の結合

let hello:String = String::from("hello");
let world:&str = "world";
let hello_world = format!("{} {}", hello, world);
println!("{}", hello_world);   //hello world

String整数型u32)の結合

let hello:String = String::from("hello");
let number:u32 = 1234;
let hello_number = format!("{} {}", hello, number);
println!("{}", hello_number);   //hello 1234