Rust エラー「error[E0308]: mismatched types」が発生した場合の対処法
Rustで、エラー「error[E0308]: mismatched types」が発生した場合の対処法を記述してます。Rustのバージョンは1.62.0を使用してます。
環境
- OS windows11 home
- rustc 1.62.0
エラー全文
以下のコードで発生
fn main() {
let str1: String = "aaa".to_string();
let str2: String = "bbb".to_string();
println!( "{}", str1 + str2 );
}
エラー全文
error[E0308]: mismatched types
--> sample.rs:6:28
|
6 | println!( "{}", str1 + str2 );
| ^^^^
| |
| expected `&str`, found struct `String`
| help: consider borrowing here: `&str2`
error: aborting due to previous error
原因
to_string関数で変換したもの同士を結合するのに「+」は使用できないため
対処法
「format!」を使用する
fn main() {
let str1: String = "aaa".to_string();
let str2: String = "bbb".to_string();
println!( "{}", format!("{}{}", str1, str2) );
// aaabbb
}
-
前の記事
PostgreSQL シーケンスを作成する 2022.07.21
-
次の記事
javascript ランダムな色を生成する 2022.07.22
コメントを書く