トップへ(mam-mam.net/)

Dart基本構文 ~初めてのFlutter+Dart体験記

検索:

Dart基本構文 ~初めてのFlutter+Dart体験記

■基本型

Dartではどんな型もオブジェクト
整数型
  int i=10;
浮動小数点型
  double d=12.3;
文字列型
  String s="ABC";
型推論(どんな型でも代入できる)
  dynamic j=10;
      j='abc';
      
型推論
  var v=7;//int型と推論されて、vはint型になる
      //v='abc'; エラー
      
List型(重複可能配列)
  List arr1=[1,2,3];
      arr1.add(4);       //[1,2,3,4]
      arr1.insert(4,5);  //添字4に値5を追加[1,2,3,4,5]
      arr1[1]=0;         //[1,0,3,4,5]
      arr1.sort();       //[0,1,3,4,5]
      
Set型(重複不可配列、値の変更は不可)
  Set arr2={'a','b','c'};
      arr2.add('d');           //追加
      print(arr2);             //{a, b, c, d}
      print(arr2.elementAt(0));//a
      
Map型(連想配列みたいなもの)
  Map m = {'a': 1, 'b': 'abc'};
      print(m);    //{a: 1, b: abc}

      Map map=Map<String,int>();
      map['hoge']=1;
      map['fuga']=3;
      map['hoge']=2;
      print(map);  //{hoge: 2, fuga: 3}
      
定数
  final k=1;
      //k=2; エラー
      const l=1;
      //l=2; エラー
      

■制御

if else文
   var i=0;
       if(i==0){
         i++;
       }else if(i==1){
         i+=20;
       }else{
         i+=200;
       }
       print(i.toString()); //1
      
for文
  int i;
      for(i=0;i<3;i++){
        print('for: ${i.toString()}');
      }
      
forEach文
  List arr1=[1,2,3];
      arr1.forEach((val){print('forEach List:'+val.toString());});

      Set arr2={1,2,3};
      arr2.forEach((val){print('forEach Set:$val');});

      Map arr3={'first':1,'second':2};
      arr3.addAll({'third':3,'fourth':4});
      arr3.forEach((key,val){print('$key=$val');});
      
while文
  var i=0;
      while(true){
        if(++i>9){
          break;
        }
      }
      print('while: '+i.toString()); //10
      
do while文
  var i=0;
      do {
        i++;
      } while (i<3);
      print('do while: $i'); //3
      
switch文
  var sw='second';
      switch(sw){
        case 'first':
          print('first');
          break;
        case 'second':
          print('second');
          continue FOURTH;//FOURTHラベルに飛ぶ
        case 'third':
          print('third');
          break;
        FOURTH:
        case 'fourth':
          print('fourth');
          break;
        default:
          print('nothing');
      }
      //second
      //fourth
      
switch文
  void errorFunction() {
        try {
          throw Exception('例外'); //意図的に例外を生成
        } on Exception catch(e) {
          print('関数内 --'+e.toString());
          //try-catch-finallyブロックの外に例外を投げなおす
          rethrow;
        } finally {
          //例外が発生してもしなくても必ず実行
          print('finallyが実行');
        }
      }
      try{
        errorFunction();
      }catch(e,s){
        // 型を指定しないcatchは、例外全部をキャッチする
        // catchに仮引数を2つ指定すると、2つ目はStackTraceオブジェクトが入る
        //print(e.toString() + '\x0a' + s.toString());
        print('関数外 --'+e.toString());
      }
      //関数内 --Exception: 例外
      //finallyが実行
      //関数外 --Exception: 例外
      


「 初めてのFlutter+Dart体験記(Android,iOSアプリ作成)」に戻る