使用Android Studio在Flutter中进行Getter / Setter

Mus*_*ari 3 dart android-studio flutter

我正在Flutter中制作一个应用,为此我正在使用Android Studio。但这不是通过使用alt + insert命令自动生成getter和setter来进行getter和setter的方法。有什么办法吗?

Nag*_*ram 14

我没有清楚地理解您的问题,但请检查这是否有帮助。

String _myValue = "Hello World";
Run Code Online (Sandbox Code Playgroud)

现在在 Mac 中按 Comman+N 并选择 Getter 和 Setter。

在此处输入图片说明

在此处输入图片说明

现在您可以看到为您生成的 Getter 和 Setter。

String _myValue = "Hello World";

  String get myValue => _myValue;

  set myValue(String value) {
    _myValue = value;
  }
Run Code Online (Sandbox Code Playgroud)

确保使用“_”作为私有变量的前缀。

要了解 dart 中的 getter 和 setter,请遵循youtube 视频。

编辑:

注意到我的回答获得了更高的票数,我有责任在这里澄清一些事情。正如Günter Zöchbauer正确提到的,Dart 不需要显式的 getter/setter 声明。


Gün*_*uer 6

在Dart中,您不需要它。

一个字段等效于一个getter / setter对。final字段等效于getter。

如果需要额外的逻辑,并且仅对实际使用者/设置者进行更改,并且此更改对于该类用户而言是不间断的,则可以将其更改。

如果getter / setter不包含其他逻辑,则私有字段的public getter / setter方法是Dart中的反模式。

class Foo {
  String bar; // normal field (getter/setter)
  final String baz; // read-only (getter)

  int _weight;
  set weight(int value) {
    assert(weight >= 0);
    _weight = value;
  }
  int get weight => _weight
}
Run Code Online (Sandbox Code Playgroud)