下記の途中で併行して学習する必要性を感じ始めました。
FlutterないしDartで参考資料②にあるような基礎文法の学習を始める場合に覚えておくべき原則
①変数宣言や文(Statement:printとかif文とか)には必ず「;」をつけないとエラーになる
こんな感じ
上記においてはエラーメッセージにあるように
int count = 1;
print(count) = 1;
としなければならない。なおPythonのようなインデントによる制約はない。直すとこうなる
②プログラムの実行開始地点は必ず main()
⇒他の関数を動かすには main() から呼び出す必要がある
いわれてみれば、FlutterでAndoridアプリを作り始めたとき、大概最初にさわる/lib/main.dartもよく見たらデフォルトの状態ではmain()以外の関数は何らかのクラス内で定義されている(main()と同階層に関数はない)
なお、
void main() {
runApp(MyApp());
}
・main()が最初に実行される
・runApp() が Flutter のウィジェットツリー(Widget Tree)を作り、アプリを画面に描画する
・MyApp が最初のウィジェット(アプリの土台)
らしい。
また、上記のサンプルを見てもらうと分かるように
③main()の後に書いた関数も「同一ファイル内であれば」呼び出せる(=関数の定義順序に制限はない)
④main(){}の外にprintなどの関数やif文などを書くとエラーになる
GPTに聞いてみたところ、
〇main(){}の外にかけるもの
・変数
変数以外はまだ整備中。勉強進め次第、詳細を付け足します
・(ユーザー定義)関数(の定義)
・クラス
・enum(決まった選択肢の集合を定義するための型)
〇main(){}の外に書くとエラーになるもの
・関数呼び出し(printなど)
・if、for、while などの文
・return
らしい。
⑤DartPadにある右側の出力画面はコンソールやVSCodeのターミナル部分にあたる
主な参考資料
①Flutterで始めるはじめてのモバイルアプリ開発 Tamappe (著) 技術評論社
②【Flutter/Dart】Dartの文法について学ぼう @my_programming(Python Lover) さんQiita
https://qiita.com/my_programming/items/9ba25114ef217d077ca5




