Rustの文字型にはString(可変長)、文字列スライス(固定長)、char型(1バイト)の三種類がありますが、関数やメソッドによって引数や適用が変わってきます。
以下は文字列を全て小文字に変換する関数to_lowercase()の例ですが、操作対象は文字列スライスでなければ機能しませんし、出力はString型になります。
VScodeだと、型は自動で補完してくれますね。
fn main() {
let text = "heLLO worLd";
let result: String = text.to_lowercase();
let search= "worl";
if result.contains(search){
println!("{} and {}", result, search);
}
以下は関数(メソッド)のAPIの記述です、
何故、操作対象は文字列スライス型でなければならないかですが、おそらく変更がなくて参照するだけだろうからだと思います。処理量の観点でも参照の方が少なくて済むだろうし。
admin