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 相关文章推荐
漂亮的仿flash菜单,来自蓝色经典
Jun 26 Javascript
JavaScript实现的图像模糊算法代码分享
Apr 22 Javascript
CSS3实现动态背景登录框的代码
Jul 28 Javascript
jQuery地图map悬停显示省市代码分享
Aug 20 Javascript
JavaScript中循环遍历Array与Map的方法小结
Mar 12 Javascript
Bootstrap每天必学之警告框插件
Apr 26 Javascript
jquery实现图片列表鼠标移入微动
Dec 01 Javascript
JavaScript制作弹出层效果
Dec 02 Javascript
React组件的三种写法总结
Jan 12 Javascript
Node.js 中exports 和 module.exports 的区别
Mar 14 Javascript
JS图片预加载插件详解
Jun 21 Javascript
浅谈react前后端同构渲染
Sep 20 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
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
php中设置多级目录session的问题
2011/08/08 PHP
PHP单态模式简单用法示例
2016/11/16 PHP
PHP框架laravel的.env文件配置教程
2017/06/07 PHP
使用纯javascript实现经典扫雷游戏
2015/04/23 Javascript
JavaScript代码性能优化总结篇
2016/05/15 Javascript
JS添加删除DIV的简单实例
2016/07/08 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
laravel5.4+vue+element简单搭建的示例代码
2017/08/29 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
vue 组件使用中的一些细节点
2018/04/25 Javascript
jQuery获取随机颜色的实例代码
2018/05/21 jQuery
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
[03:43]2014DOTA2西雅图国际邀请赛 newbee战队巡礼
2014/07/07 DOTA
[28:07]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第二场 12.13
2020/12/17 DOTA
基于Python的接口测试框架实例
2016/11/04 Python
Python简单实现Base64编码和解码的方法
2017/04/29 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
Python 中的Selenium异常处理实例代码
2018/05/03 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
2018/07/19 Python
Python批处理更改文件名os.rename的方法
2018/10/26 Python
对Python 语音识别框架详解
2018/12/24 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
2020/07/21 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
2020/09/09 Python
巴西24小时在线药房:Droga Raia
2020/05/12 全球购物
群众路线教育实践活动方案
2014/02/02 职场文书
《在山的那边》教学反思
2014/02/23 职场文书
九一八事变演讲稿
2014/09/05 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
北京颐和园导游词
2015/01/30 职场文书
农村环境卫生倡议书
2015/04/29 职场文书
spring boot项目application.properties文件存放及使用介绍
2021/06/30 Java/Android