数値型
Dartの数値型にはint型とdouble型があります。
int型は整数型です。小数点のない数値です。sample1-1はInt型の変数宣言の例です。
var x = 1; var hex = 0xDEADBEEF; print(x); //1 print(hex); //3735928559
小数点のある数値はdouble型です。sample1-2はdouble型の変数宣言の例です。
var y = 1.1; var exponents = 1.42e5; print(y); //1.1 print(exponents); //142000
Dart2.1からは整数リテラルは必要な時に自動的にdouble型に変換されます。
数値リテラルはコンパイル時定数です。オペランドが数値と評価されるコンパイル時定数である限り計算式もコンパイル時定数です。
const msPerSecond = 1000; const secondsUntilRetry = 5; const msUntilRetry = secondsUntilRetry * msPerSecond;
文字列型
文字列リテラルは文字列をシングルクオート、またはダブルクオートで囲みます。
${
expression
}
を使って、式の値を文字列の中に入れ込むことができます。expressionは式です。式が識別子の時は中括弧({})を省略できます。
文字列補間、String interpolationと言ったりします。
JavaScriptの場合下記のように書きますが、Dartではバックチック(backtick)じゃなくてOK。
//JavaScriptの場合 const distance = 42.195; console.log(`${distance} km`);
//Dartの場合 var str1="string interpolation"; print('Dart has $str1, which is very handy.'); //Dart has string interpolation, which is very handy.
sample2-1では文字列の中で
${str1}
と記述すると${str1}が変数str1の値に置きかわりますが、str1は識別子ですので中括弧を省略して、
$str1
の記述で置き換えることができます。
隣接する文字列リテラルは自動的に結合されます。(sample2-2)
var str2="One""Two"'Three'; print(str2); //OneTwoThree
また、+演算子を文字列に用いて文字列を結合させることができます。(sample2-3)
var str3="Four"+"Five"+'Six'; print(str3); //FourFiveSix
複数行の文字列を生成するのにトリプルクオート(”’)あるいは(“””)を使うと便利です。(sample2-4)
var s1 = ''' You can create multi-line strings like this one. '''; print(s1); //You can create //multi-line strings like this one.
文字列リテラルの前にrを記述すると、特殊文字を特殊文字として扱わずそのまま表示させることができます(raw string)。(sample2-5)
var s = r'In a raw string, not even \n gets special treatment.'; print(s); //In a raw string, not even \n gets special treatment.
参考
https://dart.dev/guides/language/language-tour#built-in-types