old-dart
何小有
不会编程的测试不是好玩家!
展开
-
用Dart搭建HTTP服务器(1)
基本的HTTP服务器import 'dart:io';main(List<String> arguments) { //绑定一个IPv4的HttpServer,设置8089端口 HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 8089).then((server){ //显示服务器地址和端口 print("Serving at原创 2015-06-13 17:27:42 · 6643 阅读 · 2 评论 -
Hello, Dart!
此前建议看看前一篇文章http://blog.csdn.net/hekaiyou/article/details/46559869,强调一下,第一次打开编辑器时、建立新项目时、新项目第一次运行时、从Pub下载包时必须处于翻墙状态现在开始编写第一个Dart程序,依次点开菜单栏的File–New Project,新建控制台项目创建项目后有些同学可能会出现下面的错误这是因为无法连接到Pub下载依赖包,就是原创 2015-06-24 12:11:38 · 1224 阅读 · 0 评论 -
Dart基础-变量与类型
基本的Dart项目//定义一个函数printNumber(num aNumber) { //打印到控制台 print('数字是:$aNumber');}//程序从这里开始执行main(ListString> arguments) { //声明并初始化一个变量 var number = 42; //调用一个函数 printNumber(number);}代原创 2015-06-24 18:29:59 · 9173 阅读 · 0 评论 -
Dart基础-函数
函数下面是一个函数的例子void printNumber(num number) { print('The number is $number.');}虽然参考文档建议指定参数和返回值的类型,但是你可以不指定printNumber(number) { print('The number is $number.');}如果函数只有一个表达式,你可以使用速写语法vo原创 2015-06-25 18:37:18 · 2323 阅读 · 0 评论 -
Dart基础-运算符
运算符dart定义的运算符如下所示 描述 运算符 一元后缀 expr++ 、 expr– 、 () 、 [] 、 . 一元前缀 -expr 、 !expr 、 ~expr 、 ++expr 、 –expr 乘法 * 、 / 、 % 、 ~/ 加法 + 、 - 移位 << 、 >> 按位与 & 按位或 | 关系和类型判断 >= 、原创 2015-06-26 17:26:44 · 9204 阅读 · 0 评论 -
Dart基础-类
类dart是面向对象的编程语言,每一个对象是一个类的实例,所有类都源于Object,创建一个对象,你可以使用 new 关键字构建一个类,构造函数的名字可以是 ClassName 或 ClassName.identifiervar jsonData = JSON.decode('{"x":1,"y":2}');var p1 = new Point(2, 2);var p2 = new Point.原创 2015-07-02 11:58:47 · 1704 阅读 · 0 评论 -
Dart网络编程-备忘录
准备工作在开始之前先翻墙,至于怎么翻,就八仙过海,各显神通吧!好了,我已经翻出去了,然后再创建一个dartium的快捷方式,其实dartium就是一个测试版的Chrome浏览器,dart目前只能在dartium下运行,谁叫dart是非主流呢新建项目打开WebStorm新建一个web项目,项目名就叫todo项目创建成功后试试运行自动生成的代码,看看是否正常运行,正常运行的话就进行下一步,把todo.c原创 2015-07-10 18:40:36 · 2313 阅读 · 0 评论 -
Dart网络编程-拼字游戏
先翻墙,再打开WebStorm,新建web项目,项目名为anagram然后试试运行自动生成的代码,没问题就可以修改代码了首先重写 anagram.html 的代码<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>拼字游戏</title> <link rel="stylesheet" href="anagr原创 2015-07-16 11:51:23 · 1700 阅读 · 0 评论 -
Dart云平台-DartPad
如果你想体验Dart语言,但又不想在你的电脑上安装Dart开发环境,那你可以使用Google提供的Dart云编译服务——DartPadDartPad是一个自由、开放的源码服务,帮助开发人员学习Dart语言,进入DartPad的源代码会被发送到谷歌云计算平台上运行,服务器会将源代码进行编译并处理成JavaScript返回给浏览器,编译产生的错误和警告也会返回DartPad的地址:https://dar原创 2015-09-09 23:18:35 · 5234 阅读 · 1 评论 -
Dart的路径操作
路径连接import 'package:path/path.dart' as path;main(List<String> arguments) { //将现有的两个路径连接 var newPath = path.join('/Users/shailen', 'dart/projects'); print(newPath);}输出有个问题,因为不同平台的路径分隔符是不同的,这个问题后面原创 2015-06-23 15:16:35 · 6796 阅读 · 0 评论 -
Dart基础-控制流程与异常处理
控制流程语句你可以通过以下方法控制代码流程if和elsefor循环while和do-while循环break和continueswitch和caseassert你也可以使用try-catch和throw处理异常if和elsedart支持if语句和可选的else语句,简单的if语句可以用条件运算符( ? : ),下面是例子if (isRaining()) { you.bringRai原创 2015-06-29 18:23:13 · 1500 阅读 · 0 评论 -
Dart基础-泛型和库
泛型如果你看过API文档的基本类型数组和列表,你会发现实际上所有都是泛型,使用泛型可以提高代码的可读性var names = new List<String>();names.addAll(['Seth', 'Kathy', 'Lars']);//不是字符串,编译失败names.add(42);使用泛型的另一个原因是减少代码重复,泛型可以创建多类型共享的接口,同时还能在检查模式早期预警,假如您原创 2015-07-06 14:57:12 · 3054 阅读 · 0 评论 -
Dart的日期时间操作
当前时间main(List<String> arguments) { //创建时间对象,获取当前时间 DateTime now = new DateTime.now(); print("当前时间:$now");}输出效果如下指定时间main(List<String> arguments) { //创建时间对象,并指定时间 DateTime victoryDay = new Da原创 2015-06-23 11:56:15 · 14155 阅读 · 1 评论 -
Dart与系统进程交互
运行命令行import 'dart:io';main(List<String> arguments) { //当前系统的命令行,例如Windoes命令行Nslookup www.baidu.com Process.run('Nslookup', ['www.baidu.com']).then((ProcessResult results) { print(results.stdout原创 2015-06-21 16:17:20 · 2139 阅读 · 0 评论 -
Dart的数据库操作
连接数据库Dart连接数据库需要先从Pub下载sqljocky包 我新建了一个数据库,内容如下连接数据库的代码如下import 'package:sqljocky/sqljocky.dart';main(List<String> arguments) { //创建一个连接池,host:连接地址,port:端口,user:用户名,password:密码,db:数据库名,max:最大并发数 v原创 2015-06-21 14:52:07 · 7234 阅读 · 1 评论 -
用Dart搭建HTTP服务器(2)
设置首页先在项目下建立web文件,在里面再建两个html文件 然后在dart文件里编写以下代码import 'dart:io';import 'package:http_server/http_server.dart' show VirtualDirectory;VirtualDirectory virDir;void directoryHandler(dir, request) { /原创 2015-06-15 10:44:11 · 4356 阅读 · 0 评论 -
用Dart搭建HTTP服务器(3)
基于URL的请求模式为了不搞复杂,就简单演示一下 先把需要用到的route包分享出来http://pan.baidu.com/s/1hq1rxI0import 'dart:io';import 'package:route/server.dart';import 'package:route/url_pattern.dart';//所有模式,例如“/posts”final postsUrl原创 2015-06-15 15:03:03 · 2881 阅读 · 0 评论 -
Dart的HTTP请求和响应(1)
GET请求在上代码之前,先把所需要的http包分享出来http://pan.baidu.com/s/1jGH2zgqimport 'package:http/http.dart' as http;main(List<String> arguments) { var url = 'http://httpbin.org/'; //向指定URL发送GET请求 http.get(url).the原创 2015-06-16 14:08:34 · 6074 阅读 · 1 评论 -
Dart的HTTP请求和响应(2)
向服务器发多个请求import 'package:http/http.dart' as http;//输出响应正文printResponseBody(response) { //输出响应正文的长度 print(response.body.length); //控制输出的长度在100以内 if (response.body.length > 100) { print(resp原创 2015-06-16 18:27:38 · 6159 阅读 · 0 评论 -
Dart的文件、目录和链接(1)
系统临时目录在进入正题之前先科普一下什么是“系统临时目录”,顾名思义就是装临时文件用的,通常位于C:\Documents and Settings\用户名(一般为Administrator)\Local Settings\Temp目录下(默认为隐藏目录),此文件夹是用户应用的软件(如,winword)转储临时文件的地方,目的在于临时调用与写入。安装程序时: 安装程序时,安装程序会将压缩包内的文件原创 2015-06-17 13:49:27 · 5325 阅读 · 0 评论 -
Dart的文件、目录和链接(2)
创建文件import 'dart:io';main(List<String> arguments) { var systemTempDir = Directory.systemTemp; //在系统临时目录下创建两个目录一个文件 new File('${systemTempDir.path}/dir/subdir/file.txt').create(recursive: true)原创 2015-06-18 10:58:15 · 3889 阅读 · 1 评论 -
Dart集成开发环境
下载SDK和DartiumDartium是Dart虚拟机,在运行web项目时候会用到 可以翻墙的朋友可以直接到官网下载 https://www.dartlang.org/downloads/不能翻墙的好孩子也不用怛心不能下载,我分享出来 http://pan.baidu.com/s/1pJMcf4f下载IDE然后就是下载一个JetBrains IDE,下载地址如下 WebStorm:http原创 2015-06-18 18:43:56 · 5916 阅读 · 1 评论 -
Dart的文件、目录和链接(3)
创建目录import 'dart:io';main(List<String> arguments) { new Directory('dir/subdir').create(recursive: true) .then((Directory directory) { print(directory.path); });}执行后会在项目中新建目录创建临时目录impor原创 2015-06-18 16:10:27 · 1761 阅读 · 0 评论 -
Dart的套接字与web套接字
套接字首先在项目中建三个dart文件,如下图main.dart中的代码如下import 'dart:io';import 'dart:convert';main(List<String> arguments) { //绑定地址和端口,获取套接字,监听每个连接 ServerSocket.bind('127.0.0.1', 8089).then((serverSocket) { pri原创 2015-06-19 15:06:28 · 4326 阅读 · 0 评论 -
Dart获取系统和硬件信息
获取环境变量import 'dart:io' show Platform;main(List<String> arguments) { //获取当前进程的环境变量 Map<String, String> envVars = Platform.environment; print(envVars['PATH'].replaceAll(';', '\n'));}效果如下识别操作系统impo原创 2015-06-19 17:39:23 · 2047 阅读 · 0 评论 -
Dart网络编程-备忘录2.0
这个项目是根据之前的备忘录升级的 http://blog.csdn.net/hekaiyou/article/details/46834057先翻墙,再打开WebStorm,然后新建web项目todo_with_delete创建成功后先试试运行,成功后再修改代码,首先修改todo_with_delete.html<!DOCTYPE html><html> <head> <meta ch原创 2015-07-17 12:54:30 · 1280 阅读 · 0 评论