引用 Flutter教程,我遇到了一个下划线,_
。
我知道在 Java 中,_
被用作私有(private)变量的命名约定。
_
真的是私有(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);
...
}
_
是否也将 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
flutter - TextFormField 和 TextField 有什么区别?
flutter - Flutter 中 SliverList 与 ListView 的区别