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中this关键字使用方法详解
Mar 08 Javascript
在标题栏显示新消息提示,很多公司项目中用到这个方法
Nov 04 Javascript
Jquery index()方法 获取相应元素索引值
Oct 12 Javascript
jquery获取当前点击对象的value方法
Feb 28 Javascript
将HTML格式的String转化为HTMLElement的实现方法
Aug 07 Javascript
javascript正则表达式使用replace()替换手机号的方法
Jan 19 Javascript
jQuery对象初始化的传参方式
Feb 26 Javascript
浅谈JavaScript前端开发的MVC结构与MVVM结构
Jun 03 Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
Aug 01 Javascript
node.js使用redis储存session的方法
Sep 26 Javascript
JS实现十分钟倒计时代码实例
Oct 18 Javascript
详解微信小程序中组件通讯
Oct 30 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
yii框架builder、update、delete使用方法
2014/04/30 PHP
PHP入门教程之面向对象基本概念实例分析
2016/09/11 PHP
php中的单引号、双引号和转义字符详解
2017/02/16 PHP
JavaScript常用验证函数实例汇总
2014/11/25 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
jQuery实现选项卡切换效果简单演示
2015/12/09 Javascript
去除字符串左右两边的空格(实现代码)
2016/05/12 Javascript
表单中单选框添加选项和移除选项
2016/07/04 Javascript
AngularJs expression详解及简单示例
2016/09/01 Javascript
xmlplus组件设计系列之下拉刷新(PullRefresh)(6)
2017/05/03 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
2017/11/11 jQuery
vue中keep-alive,include的缓存问题
2019/11/26 Javascript
使用vue构建多页面应用的示例
2020/10/22 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
[40:48]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第二局
2016/02/28 DOTA
Python 中的 import 机制之实现远程导入模块
2019/10/29 Python
python实现图片上添加图片
2019/11/26 Python
浅析Python3 pip换源问题
2020/01/06 Python
TensorFlow 读取CSV数据的实例
2020/02/05 Python
Python如何使用队列方式实现多线程爬虫
2020/05/12 Python
Python logging模块异步线程写日志实现过程解析
2020/06/30 Python
前端面试必备之html5的新特性
2017/09/05 HTML / CSS
解决H5的a标签的download属性下载service上的文件出现跨域问题
2019/07/16 HTML / CSS
BIBLOO波兰:捷克的一家在线服装店
2018/03/09 全球购物
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
NHL官方在线商店:Shop.NHL.com
2020/05/01 全球购物
下面关于"联合"的题目的输出是什么
2013/08/06 面试题
模具设计与制造专业应届生求职信
2013/10/18 职场文书
技术人员面试提纲
2013/11/28 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
年会主持人开场白台词
2015/05/29 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
PHP实现两种排课方式
2021/06/26 PHP
MyBatis在注解上使用动态SQL方式(@select使用if)
2022/07/07 Java/Android