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 相关文章推荐
日期处理的js库(迷你版)--自建js库总结
Nov 21 Javascript
eclipse导入jquery包后报错的解决方法
Feb 17 Javascript
JavaScript操作Cookie方法实例分析
May 27 Javascript
Bootstrap树形组件jqTree的简单封装
Jan 25 Javascript
详解mpvue scroll-view自动回弹bug解决方案
Oct 01 Javascript
Cordova(ionic)项目实现双击返回键退出应用
Sep 17 Javascript
微信小程序 导入图标实现过程详解
Oct 11 Javascript
js根据后缀判断文件文件类型的代码
May 09 Javascript
如何解决jQuery 和其他JS库的冲突
Jun 22 jQuery
深入了解Vue.js 混入(mixins)
Jul 23 Javascript
Vue3.0 手写放大镜效果
Jul 25 Vue.js
vue整合百度地图显示指定地点信息
Apr 06 Vue.js
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
安装APACHE
2007/01/15 PHP
通过PHP修改Linux或Unix口令的方法分享
2012/01/30 PHP
php使用正则表达式去掉html中的注释方法
2016/11/03 PHP
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
PHP与Web页面交互操作实例分析
2020/06/02 PHP
jquery插件 autoComboBox 下拉框
2010/12/22 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
jquery插件如何使用 jQuery操作Cookie插件使用介绍
2012/12/15 Javascript
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
JS实现可改变列宽的table实例
2013/07/02 Javascript
javascript预加载图片、css、js的方法示例介绍
2013/10/14 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
js cookie实现记住密码功能
2017/01/17 Javascript
JS和JQuery实现雪花飘落效果
2017/11/30 jQuery
手写简单的jQuery雪花飘落效果实例
2018/04/22 jQuery
Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
2018/06/19 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
JS实现多选框的操作
2020/06/24 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
2020/07/27 Javascript
python 切片和range()用法说明
2013/03/24 Python
Python OpenCV对本地视频文件进行分帧保存的实例
2019/01/08 Python
python射线法判断检测点是否位于区域外接矩形内
2019/06/28 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
sqlalchemy实现时间列自动更新教程
2020/09/02 Python
python实现三种随机请求头方式
2021/01/05 Python
Python 图片处理库exifread详解
2021/02/25 Python
会计专业毕业生自荐信范文
2013/12/20 职场文书
公司门卫管理制度
2014/02/01 职场文书
中班中秋节活动反思
2014/02/18 职场文书
美容院营销方案
2014/03/05 职场文书
乡镇党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
干货:如何写好观后感 !
2019/05/21 职场文书
一篇文章弄懂MySQL查询语句的执行过程
2021/05/07 MySQL
动画「半妖的夜叉姬」新BD特典图公开
2022/03/22 日漫