不确定标题中的术语是否 100% 正确,但这个例子很容易说明我的意思:
class MyClass{
String str = '';
MyClass(this.str);
}
void main() {
MyClass obj1 = MyClass('obj1 initial');
print(obj1.str);
doSomething(obj1);
print(obj1.str);
doSomethingElse(obj1);
print(obj1.str);
}
void doSomething(MyClass obj){
obj.str = 'obj1 new string';
}
void doSomethingElse(MyClass obj){
obj = MyClass('obj1 new object');
}
这将打印
obj1 initial
obj1 new string
obj1 new string
但是,如果我想doSomethingElse()
实际修改obj1
引用的内容,那么输出将是:
obj1 initial
obj1 new string
obj1 new object
这在 Dart 中是否可行,如果可以,如何实现?