フラッター一般的なデータ型とデータ型の変換

簡単な紹介

ダートは、我々が知っているように、言語、その後、同じ言語であるので、基本データ型だけでなく、一般的なフロー処理文法があり、我々は、次を理解するために来ます。

ダートすべてがそうで数字、機能、および含め、オブジェクトです。これらは数値、文字列は、様々な方法を呼び出すことができるように、デフォルトは、(デジタルを含む)nullの場合、Objectから継承されます。

常に変数

変数

使用VAR変数宣言、値の異なる種類を与えることができる。初期化されていない場合、デフォルト値はヌルであり、変数の最終的な宣言で一度だけ割り当てることができ

メインボイド(){ 
  
  //変数宣言
  VAR aを、
  印刷(a)は、印刷の//値は、ディスプレイがnullで

  、A = 10; 
  プリント(A); // 10の結果をプリントアウト

  =「テスト文字列「; 
  印刷(A); //テストストリングの結果をプリントアウト

  、A = 30; 
  プリント(A); // 30の結果をプリントアウト

  ファイナルB = 10、
  B = 20である; //このエラー意志、プロンプトが表示:[DART] 'B'、最終的な変数は、一度だけ設定することができます。

}

  

定数

使用constがでダーツの定数を宣言し、コンパイル時定数でなければなりませんconstの宣言を使用します。

メインボイド(){ 
  = 10 CONST A; 
  A = 20であり; //ここでも所与:[DART]定数変数によって値が割り当てられていないことができます。
}

  

上記では、単純な構文ダーツのいくつかを見ることができます。実際には、JSと変数宣言のデータ型は、それらを変更するだけで、かなりのように、あなたは(:Java言語など)の固定のデータ型を持っていません。あなたは、第二は、最終的なものとのconst変数を宣言することができた後に変更し、変数を宣言することはできません。

単純に、こことのconstの次の最終の違いを置きます:

最終的に必要な変数は一度だけ初期化され、割り当てられた値はコンパイル時に定数でなければなりません、それは一定であるか、できないことを必要としません。声明、および割り当てがコンパイル時の定数のために必要であるとき。初期化constの要件

ダートビルトインタイプ

ダートでのいくつかの組み込みデータ型:数値-Number、ブールブール型の、キーと値のペア-Map、 - ストリングの文字列は、 - リスト、他の種類の-Runesを一覧表示する、シンボル

数値

ダートは2種類のみを提供しています:

NUM
。1、int型の成形
2、ダブルフロートを

メインボイド(){ 
  
  NUM A = 10; //整形
  = 20.1; //フロート

  INT = I 10、
  I = 10.1;この場所は、与えられ//ためdouble型にint型のデータ

  ダブルD 20.1 =; 
  D = 20であるため、データ型intにdouble型の、//この場所が与えられています
}

  

それ以上の変数がNUM、無料のコンバージョンタイプを使用して宣言されているかどうかを確認することができますが、あなたはintまたは二重の明確な声明を使用している場合、それは変換できませんから、


数値計算

演算子: +、 - 、*、/、 - /、%

常用属性: isNaN、isEven、isOdd

使用方法: ABS()、丸()、floorl()、CEIL()、オーバーライド:()、toDouble()

従来の方法は他の言語に有する//ので、過去を繰り返さない、以下のいくつかの特定のある
ボイドメイン(){ 
  
  ; I = 10 int型
  、ダブルD = 20.1 
  
  (I / D)プリントが; // 0.49751243781094523 
  プリント(私〜/ D); // 0 この操作は丸めれる

  プリント(i.isOdd); //奇数分析
  プリント(i.isEvenを); //分析が偶数です
}

いくつかの一般的な変換

//文字列- > int型
VAR 1 = int.parse( '1'); 
アサート(1 == 1)。

//文字列- >ダブル
VAR onePointOne = double.parse( '1.1'); 
アサート(onePointOne == 1.1)。

// int型- >文字列
文字列oneAsString = 1.toString(); 
アサート(oneAsString == '1')。

//ダブル- >文字
列piAsString = 3.14159.toStringAsFixed(2)。
主張(piAsString == '3.14');

私は声明の中で、文字列のダーツに単一引用符または二重引用符を使用することができました。どちらの方法でも、することができます。

メインのボイド(){ 
  文字列の文字列=「単一引用符宣言文字列」; 
  文字列の文字列1 =「二重引用符で囲まれた文の文字列」; 
}

各二重引用符の場合は、単一の文字列を入れ子になりました

ボイドメイン(){ 
  
  文字列STRは=「単一引用符」二重引用符「「; 
  文字列STR1 =」二重引用符一重引用符『; 
  印刷(STR)、
  印刷(0009); 

  文字列STR2 =』単一引用符\ '単一引用符\'「; 
  文字列STR3 = "" \二重引用符を"二重引用符は\"; 
  印刷(STR2); 
  印刷(STR3); 
}

文字列の連結方法

以下に記載されている文字列連結(黒魔術)でダーツの種々の動作を示します。

メインのボイド(){ 
  ステッチを使用して//スペース、複数の空間かもしれない
  文字列STR1 =「単一引用符スペース文字列」スプライス「」〜「;スプライシング単一引用符スペースの//文字列〜

  @改行とスペースの
  文字列STR2 =「単一引用符文字列」
    旅行のための「」プラススペース「スプライス」; //スワップ単一引用符文字列のステッチ一緒にスペース

  //単一または二重引用符スペーススプライシング
  文字列STR3 =「単一または二重引用符スペース文字列「『スプライス』」〜「; //〜モノ引用符で囲まれた文字列のスペーススプライシング

  単一または二重引用符やスペース改行@ 
  文字列STR4 =」単一または二重引用符の文字列「
    」旅のための「プラスのスペース」スプライス「; //単一または二重引用符文字のスワップラインプラススペースステッチ

  文字列STR5は=」「」
    3単一引用符を使用することが、
    私はそれを使用する参照
  「「」; 
          

  文字列STR6 = 『』 " 
    引用符の3組を使用して、
    ご覧ください私はそれを使用して
  「「」;

  ストリングSTR7 =「さて、ほとんど、または通常の」+「+スプライスするために使用されます」; 
}

以上のことから、ダーツを使用することができます見ることができるスペースをステッチするために行うこと。だから我々は次の勉強を続けています。

メインボイド(){ 

  //文字列の連結、出力は:単一または二重引用符は空白をマーク
  文字列blockStr =「単一引用符」「スペース」; 
  文字列blockStr1 =「単一引用符」「スペース」; 
  文字列blockStr2 =「二重引用符」 "スペース「; 
  文字列blockStr3は=」二重引用符「」スペース「; 

  このような//エラー状況がします
  『文字列blockStr4 =『単一引用符を』//』 『スペース』; 
  //文字列blockStr5は=」二重引用符「」「」スペース「; 

  中間テスト//文字を追加
  //出力;文字列blockStr6 = 『単一引用符』 『_』 『スペース』:単一引用符_スペース
  列blockStr7 =」二重引用符「」#「」スペース「; //ノートでは使用できません。 $、$与えられ、出力:単一引用符#スペース

  //単一または二重引用符が混在
  文字列blockStr8を=「一『』 『』引用符」; //出力:シングル「」「」引用
  文字列blockStr9は=「一『』 _ 『』引用符」; //出力:「シングル「」_」引用して

  使用して、単一または二重引用符を混合// 
  文字列blockStr10 =「ダブル『『』』引用符」; //出力:ビス「」「引用符 
  文字列blockStr11 =「ダブル『』 _ 『』引用符を」; //出力:ビス'' _ ''引用符
}

表現の$ {}を使用します

上記JS ES6における表現の使用と同様に、気持ちは同じです。

メインのボイド(){ 

  VAR = falseに旗では、
  VaRのSTR = "テスト文字列"; 

  印刷( "我々は、認証文字列:$ {strの}" "そして、私たちのフラグを聞かせて:フラグに$ {}"); 
  //最後の出力は次のようになります。私たちは、文字列を検証する必要があります:テスト文字列をして、私たちの旗を見て:偽
}

ブール値

アサートは、テストモードでのみ有効な言語組み込みの述語関数、ある
条件が真でない限り、それ以外の場合は例外がスローされます、開発中。(アサーションが失敗し、プログラムが直ちに終了されます)。

//空のかどうかを確認してください
VARのfullName = ''; 
アサート(fullName.isEmptyが); 

// 0に確認してください
; VARのヒットポイント= 0 
アサート(ヒットポイント<= 0); 

//ヌルかどうかを確認します。
ヴァールユニコーン、
アサート(ユニコーンヌル==); 

// NaN 3をかどうかを確認します。
VARのiMeantToDoThis = 0/0; 
アサート(iMeantToDoThis.isNaN)。

リスト一覧

例のリストは以下のよう

メインボイド(){ 

  //構成用いて作成
  VAR =新しい新しいリスト一覧(); 

  // INTリストの種類作成
  リストintList = [する。1、2、。3]; 

  //が一定のリストを作成し、変更することができないリスト
  一覧=定数constList [10 ,. 7、23です]; 

}

アレイの一般的な方法のダーツ

メインボイド(){ 

  //配列は、オブジェクトの異なる複数種類に格納することができる
  ; VAR一覧= [trueに1、2、。3、「フラッタ」、】
  プリント(リスト)の//出力結果:[1、2 。、3、フラッタに真] 

  // 2の配列指標値変更
  リスト[2] = 'ダート'; 
  印刷(一覧); //出力結果:[1、2、ダーツ、フラッタ、] trueにする

  //配列の長さ取得
  プリント(list.lengthを); //出力結果は:5 

  //配列に要素を追加
  、List.add( "値") 印刷(リスト)の//出力結果:[1、2、ダーツ、フラッタ、真の値] 

  //配列内の指定された位置に要素を追加
  list.insert(1「要素」);   
  プリント(リスト)の//出力結果:[1、要素、2、ダーツ、フラッタ真の値] 

  //素子アレイ除去
  list.remove( "値")、
  印刷(一覧); //の出力結果:[1、要素、2、ダーツ、フラッタ、真]を

  //指定された配列要素取り除く
  ; list.removeAt(1)
  プリント(一覧); //出力結果:[1、2、ダーツ、フラッタ、真へ] 

  //は、素子アレイがあるか否かを判断する
  (プリントlist.indexOf( "要素")); // 出力:-1 

  //ソートする()関数をソートすることができ、私たちは異なる配列型定義を使用しているので、使用することができない
  、VaRのintlist = [1、2 5、6、3]; 

  //構文ヒント:はlist.sort([(int型、int型)→INT比較])無効→ 
  intlist.sort((A、B)=> a.compareTo(B)); 
  を印刷(intlist); //出力:[1、2、3、5、6] 

}

地図コレクション

地図のコレクションを作成します。

メインのボイド(){ 

  //マップ作成
  VAR = {言語'ファースト・': 'DART'、 'SECOND': 'Javaの'}; 

  //マップ不変作成
  するvar constLanguage =一定{ '・ファースト': 'DART'を、 'SECOND': 'Javaの'}; 

  コンストラクタで作成された// 
  VAR新しい新しいinitLanguage地図=(); 
}

一般的に使用される方法の地図

メインのボイド(){ 

  //マップ作成
  VAR = {地図'ファースト・': 'DART'、 'SECOND': 'Javaの'}; 

  //の長さを得る
  プリント(map.lengthを); //出力:2 

  //分析空で
  プリント(map.isEmptyは); //出力は:偽
  印刷(map.isNotEmpty); //出力:trueに

  //キーの全てを取得
  印刷(map.keys); //出力:(・ファースト、SECOND、)

  //すべての値の取得
  印刷(map.valuesを); //出力:(DART、Javaの)

  //キー含めるかどうかを判断する
  印刷(map.containsKey( "キー")); //出力結果:falseに

  値かどうかを判定することを含む// 
  印刷(map.containsValue(「キー」)); //出力:falseに

  に新しい要素を追加します。// 
  地図[「THIRD」] =「キー」; 
  印刷(地図); //出力:{・ファースト:ダーツ、第二:ジャワ、第三:キー}

  //循环打印代码提示:空隙→Map.forEach(ボイドF→(文字列、文字列))
  map.forEach((キー、値)=> GetMapリクエスト(キー、値))。
} 


ボイドGetMapリクエスト(キー、値){ 
  プリント( "キー:$ {キー}、値:$ {値}")。
}

  

ダイナミックキーワード

このキーワードは、我々はJSで変数を定義する同様のケースに定義されています。次のコードを見てください

メインのボイド(){ 
  // Aデータ型を変更することができ、タイプが動的である
  VaRのAは、
  A = 10; 
  A = "DART"; 

  私達は動的ステートメントを使用//ここで
  ダイナミックD = 10; 
  D = 'DART' ; 
}

  

オリジナル住所:https://blog.csdn.net/qq_18948359/article/details/82749659

おすすめ

転載: www.cnblogs.com/gxsyj/p/10973657.html