flutter - 变量名前的下划线 "_"对 Flutter 意味着什么

引用 Flutter教程,我遇到了一个下划线,_

我知道在 Java 中,_ 被用作私有(private)变量的命名约定。

  1. 它也适用于 Flutter 吗?请注意,Flutter 中没有公共(public)/ protected 。
  2. _ 真的是私有(private)的(其他类无法访问)还是只是一个命名约定?

变量

class RandomWordsState extends State<RandomWords> {
  final List<WordPair> _suggestions = <WordPair>[];
  final Set<WordPair> _saved = new Set<WordPair>();
  final TextStyle _biggerFont = const TextStyle(fontSize: 18.0);
  ...
}
  1. _ 是否也将 Widget 设为私有(private)?这样的话,主类是不是无法评估Widget?

功能

Widget _buildRow(WordPair pair) {
  final bool alreadySaved = _saved.contains(pair);  // Add this line.
  ...
}

最佳答案

只是一个命名约定。下划线字段、类和方法将仅在定义它们的 .dart 文件中可用。

通常的做法是将小部件的 State 实现设为私有(private),这样它就只能由相应的 StatefulWidget 实例化:

class MyPage extends StatefulWidget {
  @override
  _MyPageState createState() => _MyPageState();
}

class _MyPageState extends State<MyPage> {
  @override
  Widget build(BuildContext context) {
    return Container();
  }
}

关于flutter - 变量名前的下划线 "_"对 Flutter 意味着什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53142171/

相关文章:

dart - Flutter - 更改 OutlineInputBorder 的边框颜色

asynchronous - 异步对调用者滚雪球,不能使构造函数异步

dart - Flutter 中的 Openstreetmap?

generics - 为什么有状态的小部件在flutter中定义为两个类?

json - 类型 'List' 不是类型 'List' 的子类型,其中

flutter - TextFormField 和 TextField 有什么区别?

flutter - Flutter 框架中使用的键是什么?

flutter - Flutter 中 SliverList 与 ListView 的区别

dart - 在 Flutter 中的小部件之间传递数据的最佳方式

dart - 使用BottomNavigationBar导航时如何在 flutter 中保留小部件状