博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Google Dart编程语言学习(1)--语法和基本类型
阅读量:6912 次
发布时间:2019-06-27

本文共 2551 字,大约阅读时间需要 8 分钟。

Dart编程语言是一个完全面向对象的语言,包括基础类型如int变量也都是对象。

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 createmulti-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 -> intvar one = Math.parseInt("1");assert(one == 1);// String -> doublevar onePointOne = Math.parseDouble("1.1");assert(onePointOne == 1.1);// int -> Stringvar oneAsString = 1.toString();assert(oneAsString == "1");// double -> Stringvar piAsString = 3.14159.toStringAsFixed(2);assert(piAsString == "3.14");

 

布尔类型

bool,不同于js, 只要不是true, 那么就都是false.

 

Lists(可以当做数组)

var list = [1,2,3]; //实例化一个listlist.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));

转载于:https://www.cnblogs.com/JustRun1983/archive/2012/08/03/2621684.html

你可能感兴趣的文章
ife任务刷题总结(一)-css reset与清除浮动
查看>>
JSContext
查看>>
字符识别(模板匹配&BP神经网络训练)
查看>>
【转】iOS 删除已经配置的类库和移除CocoaPods
查看>>
Python 列表
查看>>
如何限制用户在某一时间段多次访问接口
查看>>
Linux-4.4-x86_64 内核配置选项简介【转】
查看>>
linux中service *** start与直接运行/usr/bin/***的区别
查看>>
BZOJ 3626: [LNOI2014]LCA [树链剖分 离线|主席树]
查看>>
开源网址
查看>>
linux重启服务的脚本命令
查看>>
BZOJ 2822: [AHOI2012]树屋阶梯 [Catalan数 高精度]
查看>>
基本类型和装箱基本类型的区别
查看>>
剑指offer题目java实现
查看>>
ThreadLocal
查看>>
抽象工厂类--一个简单的例子
查看>>
配置toad远程连接oracle
查看>>
028 Partitioner:数据分区器
查看>>
移位实现正负数原码输出
查看>>
阿里云端口失效导致tomcat无法对外提供服务
查看>>