关于Flutter教程,我遇到了下划线_。
_
我知道在Java中,_它用作私有变量的命名约定。
变量
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 _buildRow(WordPair pair) { final bool alreadySaved = _saved.contains(pair); // Add this line. ... }
这 不 只是一个命名约定。下划线字段,类和方法仅在.dart定义它们的文件中可用。
.dart
通常State将小部件的实现设为私有,以便只能由相应的小部件实例化StatefulWidget:
State
StatefulWidget
class MyPage extends StatefulWidget { @override _MyPageState createState() => _MyPageState(); } class _MyPageState extends State<MyPage> { @override Widget build(BuildContext context) { return Container(); } }