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 相关文章推荐
网站上面有这种切换效果
Jun 26 Javascript
模拟多级复选框效果的jquery代码
Aug 13 Javascript
深入解析JavaScript中的变量作用域
Dec 06 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
Oct 07 Javascript
jQuery中的select操作详解
Nov 29 Javascript
详解自动生成博客目录案例
Dec 09 Javascript
jqgrid实现简单的单行编辑功能
Sep 30 Javascript
使用webpack3.0配置webpack-dev-server教程
May 29 Javascript
微信小程序自定义轮播图
Nov 04 Javascript
elementUI多选框反选的实现代码
Apr 03 Javascript
vue render函数动态加载img的src路径操作
Oct 26 Javascript
canvas实现贪食蛇的实践
Feb 15 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
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
利用PHP制作简单的内容采集器的原理分析
2008/10/01 PHP
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
WordPress主题制作之模板文件的引入方法
2015/12/28 PHP
PHP实现Google plus的好友拖拽分组效果
2016/10/21 PHP
tp5.1 框架路由操作-URL生成实例分析
2020/05/26 PHP
javascript针对DOM的应用实例(一)
2012/04/15 Javascript
js从Cookies里面取值的简单实现
2014/06/30 Javascript
jQuery解决input超多的表单提交
2015/08/10 Javascript
jquery实现的仿天猫侧导航tab切换效果
2015/08/24 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
2015/10/09 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
2016/05/10 Javascript
微信小程序 两种滑动方式(横向滑动,竖向滑动)详细及实例代码
2017/01/13 Javascript
超全面的JavaScript开发规范(推荐)
2017/01/21 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
node+multer实现图片上传的示例代码
2020/02/18 Javascript
vue data对象重新赋值无效(未更改)的解决方式
2020/07/24 Javascript
在vue中使用inheritAttrs实现组件的扩展性介绍
2020/12/07 Vue.js
[01:09:40]Newbee vs Pain 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python 按不同维度求和,最值,均值的实例
2018/06/28 Python
Python设计模式之工厂方法模式实例详解
2019/01/18 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
python3对接mysql数据库实例详解
2019/04/30 Python
解决python super()调用多重继承函数的问题
2019/06/26 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
2020/02/26 Python
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
Book Depository美国:全球领先的专业网上书店之一
2019/08/14 全球购物
广州御银科技股份有限公司试卷(C++)
2016/11/04 面试题
企业管理毕业生求职信
2014/03/11 职场文书
市场总经理岗位职责
2014/04/11 职场文书
最美护士演讲稿
2014/08/27 职场文书
数学教师个人工作总结
2015/02/06 职场文书
银行求职信模板
2015/03/20 职场文书
介绍信格式样本
2015/05/05 职场文书
幼儿园安全教育随笔
2015/08/14 职场文书
Python图片验证码降噪和8邻域降噪
2021/08/30 Python