gpt4 book ai didi

rust - RUST 中这些行之间有什么区别?

转载 作者:行者123 更新时间:2023-11-29 08:30:50 26 4
gpt4 key购买 nike

这两种情况有什么区别我有相同的功能和 2 个不同的模型,这让我有点困惑!

//model_1

let mut my_str = String::from("ali");
let str1 = &mut my_str; // defining str1 without "mut"

//model_2

let mut my_str = String::from("ali");
let mut str1 = &mut my_str // defining str1 with "mut"

最佳答案

让我们从相似性开始:它们都不能编译,因为您无法获取本身未定义为 mut 的对象的可变引用 (&mut)。

至于正确的版本,是这样的:

let mut my_str = String::from("ali");
let str2 = &mut my_str;

my_str 如果我们要获取对它的可变引用,则需要将其定义为可变的,这样第一行就没有歧义了。

在第二行,str2mut 前缀只有在您要修改str2 指向的引用时才需要。只要您只是修改字符串的内容(而不更改您正在修改的字符串),您就不需要它。

关于rust - RUST 中这些行之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58347867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com