Google Dart编程语法和基本类型学习教程


Posted in Javascript onNovember 27, 2013

1. 变量声明

如何定义变量

var name = 'Bob';

变量的初始值

int lineCount;
assert(lineCount == null); // Variables (even numbers) are initially null.

可以使用var,也可以直接指定类型。
final, 定义为final的变量,值不能够被更改

final name = 'Bob'; // Or: final String name = 'Bob';
name = 'Alice';     // ERROR

2. 基础类型

字符串

字符串可以使用单引号或者双引号。

var s1 = 'Single quotes work well for string literals.';
var s2 = "Double quotes work just as well.";

在字符串中,可以直接应用值, ${表达式}, 如果只是一个变量,就可以去掉{}

var s = 'string interpolation';
assert('Dart has $s, which is very handy.' ==
       'Dart has string interpolation, which is very handy.');
assert('That deserves all caps. ${s.toUpperCase()} is very handy!' ==
       'That deserves all caps. STRING INTERPOLATION is very handy!');

多行字符串,会被认为默认拼接。

var s = 'String ''concatenation'
        " works even over line breaks.";
assert(s == 'String concatenation works even over line breaks.');

如果要使用多行字符串,可以这样, 用'''

var s1 = '''
You can create
multi-line strings like this one.
''';

创建一个不考虑转义的字符串

var s = @"In a raw string, even \n isn't special.";

StringBuffer, 非常类似.net中的。

var sb = new StringBuffer();
sb.add("Use a StringBuffer ");
sb.addAll(["for ", "efficient ", "string ", "creation "]);
sb.add("if you are ").add("building lots of strings.");
var fullString = sb.toString();

数字

主要就2种,int 和 double, 它们都继承num类型

数字和字符串之间的转换

// String -> int
var one = Math.parseInt("1");
assert(one == 1);
// String -> double
var onePointOne = Math.parseDouble("1.1");
assert(onePointOne == 1.1);
// int -> String
var oneAsString = 1.toString();
assert(oneAsString == "1");
// double -> String
var piAsString = 3.14159.toStringAsFixed(2);
assert(piAsString == "3.14");

布尔类型

bool,不同于js, 只要不是true, 那么就都是false.

Lists(可以当做数组)

var list = [1,2,3]; //实例化一个list
list.add(4);       //添加一个元素4

可以使用for, for...in, foreach()来遍历一个list.

var list = [1,2,3];
for (final x in list) {
  print(x);
}

或者

var list = [1,2,3];
list.forEach((element) => print(element));

Maps(字典类型)

var gifts = {                         // A map literal
// Keys       Values
  "first"  : "partridge",
  "second" : "turtledoves",
  "fifth"  : "golden rings"};
gifts["third"] = "apple"; //添加一个

使用foreach遍历

var gifts = {
  "first" : "partridge",
  "second": "turtledoves",
  "fifth" : "golden rings"};
gifts.forEach((k,v) => print('$k : $v'));

getKeys()和getValues()方法

var gifts = {"first": "partridge", "second": "turtledoves"};
var values = gifts.getValues();
//Print partridge and turtledoves, but not necessarily in that order.
values.forEach((v) => print(v));
Javascript 相关文章推荐
jQuery中position()方法用法实例
Jan 16 Javascript
浅析2种JavaScript继承方式
Dec 04 Javascript
Node.js中npm常用命令大全
Jun 09 Javascript
JavaScript实现审核流程状态的动态显示进度条
Mar 15 Javascript
vue2.0结合DataTable插件实现表格动态刷新的方法详解
Mar 17 Javascript
vue封装第三方插件并发布到npm的方法
Sep 25 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
May 08 Javascript
layui table 参数设置方法
Aug 14 Javascript
Vue动画事件详解及过渡动画实例
Feb 09 Javascript
VUE安装使用教程详解
Jun 03 Javascript
JavaScript实现移动端弹窗后禁止滚动
May 25 Javascript
JavaScript获取URL参数的方法分享
Apr 07 Javascript
jQuery实现可收缩展开的级联菜单实例代码
Nov 27 #Javascript
利用JavaScript实现新闻滚动效果(实例代码)
Nov 27 #Javascript
Javascript实现滚动图片新闻的实例代码
Nov 27 #Javascript
讨论html与javascript在浏览器中的加载顺序问题
Nov 27 #Javascript
js替代copy(示例代码)
Nov 27 #Javascript
jQuery封装的获取Url中的Get参数示例
Nov 26 #Javascript
javascript的parseFloat()方法精度问题探讨
Nov 26 #Javascript
You might like
分享下页面关键字抓取components.arrow.com站点代码
2014/01/30 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
php实现自定义中奖项数和概率的抽奖函数示例
2017/05/26 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
2019/10/21 PHP
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
node.js中的url.format方法使用说明
2014/12/10 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
2017/02/16 Javascript
jQuery实现三级联动效果
2017/03/02 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
angularjs定时任务的设置与清除示例
2017/06/02 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
微信小程序之数据缓存的实例详解
2017/09/29 Javascript
修改node.js默认的npm安装目录实例
2018/05/15 Javascript
vue中使用vue-cli接入融云实现即时通信
2019/04/19 Javascript
解决layer.open后laydate失效的问题
2019/09/06 Javascript
微信公众号开发之微信支付代码记录的实现
2019/10/16 Javascript
Vue监听滚动实现锚点定位(双向)示例
2019/11/13 Javascript
JS面试题中深拷贝的实现讲解
2020/05/07 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
2020/07/09 Javascript
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
Django Sitemap 站点地图的实现方法
2019/04/29 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
基于python修改srt字幕的时间轴
2020/02/03 Python
postman和python mock测试过程图解
2020/02/22 Python
Flask模板引擎Jinja2使用实例
2020/04/23 Python
Django获取model中的字段名和字段的verbose_name方式
2020/05/19 Python
Waterford美国官网:爱尔兰水晶制品品牌
2017/04/26 全球购物
优秀团员自我评价范文
2014/04/23 职场文书
监察建议书格式
2014/05/19 职场文书
2014年公务员退休工资改革方案
2014/10/01 职场文书
幼儿园辞职书
2015/02/26 职场文书
英语导游欢迎词
2015/09/30 职场文书
小学毕业教师寄语
2019/06/21 职场文书
世界十大评分最高的动漫,CLANNAD上榜,第八赚足人们眼泪
2022/03/18 日漫
浅谈MySQL中的六种日志
2022/03/23 MySQL