当前位置:嗨网首页>书籍在线阅读

13-在函数中使用字符串

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

7.2.4 在函数中使用字符串

将字符串切片传递给函数是惯用且高效的做法。以下是一个例子:

// string_slices_func.rs
fn say_hello(to_whom: &str) {
    println!("Hey {}!", to_whom)
}
fn main() {
    let string_slice: &'static str = "you";
    let string: String = string_slice.into();
    say_hello(string_slice);
    say_hello(&string);
}

细心的读者应该会发现,say_hello方法也适用于&String类型。在内部,&String会自动被强制转换为&str,因为String为str类型实现了类型强制性特征Deref,该特征确保了&String到&str的转换。

在这里你会发现为何在前面强调这一点。字符串切片是一个用途广泛的输入型参数,不仅适用于实际的字符串切片引用,还适用于String引用。所以再强调一遍:如果你需要将一个字符串传递给你的函数,那么请使用字符串切片&str。