Flutter で変数名の前のアンダースコア「_」はどういう意味ですか? 質問する

Flutter で変数名の前のアンダースコア「_」はどういう意味ですか? 質問する

を参照してフラッターチュートリアルで、アンダースコアに遭遇しました_

Java では、_プライベート変数の命名規則として が使用されることは知っています。

  1. これは Flutter にも適用されますか? Flutter には public/protected がないことに注意してください。
  2. これは本当にプライベート(他のクラスからはアクセスできない)になるのでしょう_か、それとも単なる命名規則なのでしょうか?

変数

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 _buildRow(WordPair pair) {
  final bool alreadySaved = _saved.contains(pair);  // Add this line.
  ...
}

ベストアンサー1

そのない単なる命名規則です。アンダースコア フィールド、クラス、メソッドは、.dart定義されているファイルでのみ使用できます。

Stateウィジェットの実装をプライベートにして、対応する によってのみインスタンス化できるようにするのが一般的な方法ですStatefulWidget

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

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

おすすめ記事