Dart语言 2 数据类型

变量

创建字符串变量(使用了类型推断机制):

var name ='Bob';

或者显式指定类型:

String name ='Bob';

如果对象不限于单个类型,可以指定为动态类型:

dynamic name ='Bob';

未初始化的变量的初始值为null,即使是数字类型。 因为一切皆对象:

// 值是null
var obj; 

final 和 const
可以使用finalconst来声明常量,最终变量只能设置一次; const变量是编译时常量。

注意:实例变量可以是final,但不是const。

以下是创建和设置最终变量的示例:

final name ='Bob'; //没有类型注释
final String nickname ='Bobby';

您无法更改最终变量的值:

name ='Alice'; //错误:最终变量只能设置一次。

将const用于您希望成为编译时常量的变量。如果const变量在类级别,则将其标记为static const。在声明变量的地方,将值设置为编译时常量,例如数字或字符串文字,const变量或对常数进行算术运算的结果:

const bar = 1000000; //压力单位(达因/ cm2)
const double atm = 1.01325 * bar; //标准氛围

const关键字不仅用于声明常量变量。您还可以使用它来创建常量值,以及声明创建常量值的构造函数。任何变量都可以具有常量值。

var foo = const [];
final bar = const [];
const baz = []; //相当于`const []`

你可以从const声明的初始化表达式中省略const,就像上面的baz一样。

您可以更改非final,非const变量的值,即使它曾经有一个const值:

foo = [1,2,3]; //是const []

您无法更改const变量的值:

baz = [42]; //错误:无法为常量变量赋值。

Dart语言特别支持以下类型:

  • 数字 - 即num类型,包括intdouble,默认双精度
  • 字符串 - 即String类型
  • 布尔 - 即bool类型
  • 列表 - 即List(也称为数组)
  • map - 即Map
  • 符文(用于表示字符串中的Unicode字符)
  • 符号

Dart字符串是一系列UTF-16代码单元。您可以使用单引号或双引号来创建字符串:

var s1 = 'abcdefg.';
var s2 = "abcdedf";

可以使用${exp}来插值替换字符串:

  String firstString = "哈哈哈哈啊哈";

  String a = "abcedfge${firstString}";

可以使用带有单引号或双引号的三引号来创建换行字符串:

var s1 ='''
你可以创建
像这样的多行字符串。
''';

var s2 =“”“这也是一个
多行字符串。“”“;

您可以通过在其前面加上r来创建“原始”字符串,以忽略转义符号:

  String a = r"abcedfge${firstString}";

num类型和String类型转换:

  int a = 10;

  var stringA = a.toString();

  int c = int.parse(stringA);

列表list:

var list = [1,2,3];
assert(list.length == 3);
断言(list [1] == 2);

map:

类型推断为Map <String,String>:
var gifts = {
  '第一':'鹧'',
  '第二':'turtledoves',
  '第五':'金戒指'
};

类型推断为Map <int,String>:
var nobleGases = {
  2:'氦',
  10:'霓虹灯',
  18:'氩',
};

var nobleGases = Map();
nobleGases[2] = 'helium';

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容