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 相关文章推荐
两个比较有用的Javascript工具函数代码
Feb 17 Javascript
jquery easyui的tabs使用时的问题
Mar 23 Javascript
基于jquery的模态div层弹出效果
Aug 21 Javascript
jQuery实现form表单基于ajax无刷新提交方法详解
Dec 08 Javascript
Bootstrap三种表单布局的使用方法
Jun 21 Javascript
AngularJS Bootstrap详细介绍及实例代码
Jul 28 Javascript
React创建组件的三种方式及其区别
Jan 12 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
Mar 04 Javascript
前端自动化开发之Node.js的环境搭建教程
Apr 01 Javascript
JavaScript实现一个空中避难的小游戏
Jun 06 Javascript
vuejs实现标签选项卡动态更改css样式的方法
May 31 Javascript
Node.js API详解之 module模块用法实例分析
May 13 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
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
PHP实现提高SESSION响应速度的几种方法详解
2019/08/09 PHP
让Firefox支持event对象实现代码
2009/11/07 Javascript
javascript,jquery闭包概念分析
2010/06/19 Javascript
合并table相同单元格的jquery插件分享(很精简)
2011/06/20 Javascript
JQuery控制div外点击隐藏而div内点击不会隐藏的方法
2015/01/13 Javascript
JS解析XML文件和XML字符串详解
2015/04/17 Javascript
jQuery滚动条插件nanoscroller使用指南
2015/04/21 Javascript
js同源策略详解
2015/05/21 Javascript
jQuery页面刷新(局部、全部)问题分析
2016/01/09 Javascript
javascript表单事件处理方法详解
2016/05/15 Javascript
完美JQuery图片切换效果的简单实现
2016/07/21 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
javascript 产生随机数的几种方法总结
2017/09/26 Javascript
Webpack实战加载SVG的方法
2017/12/26 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
2018/08/06 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
一篇文章带你使用Typescript封装一个Vue组件(简单易懂)
2020/06/05 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
[40:03]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#1EHOME VS Archon
2016/03/02 DOTA
Python代理抓取并验证使用多线程实现
2013/05/03 Python
python实现端口转发器的方法
2015/03/13 Python
基于python进行桶排序与基数排序的总结
2018/05/29 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
2019/12/31 Python
用纯CSS3实现网页中常见的小箭头
2017/10/16 HTML / CSS
介绍下Java的输入输出流
2014/01/22 面试题
程序员机试试题汇总
2012/03/07 面试题
村委会换届选举方案
2014/05/03 职场文书
关于保护环境的标语
2014/06/09 职场文书
党的群众路线教育实践活动调研报告
2014/11/03 职场文书
2015年社区关工委工作总结
2015/04/03 职场文书
周一问候语大全
2015/11/10 职场文书
Python基础详解之描述符
2021/04/28 Python
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记