- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 院子里的树
我家院子里有棵树,一颗石榴树,一颗比院墙还高的石榴树。 这棵树大约是在我上高二的时候,父亲亲手载的。石榴树在这个院子里已经有十几个年头了。每年它都会结满石榴。石榴很多很大,每一次结果,都会把树压低到院墙那么高,有一次甚至枝子都被压断了。于是,从那之后,父亲都会再每个比较大的枝子下面,撑上一块木头。我记得那几块木头大约是浅黄色的,现在都是黑的了。 每年石榴成熟了,父亲母亲,都会踩着...
2018-12-28 15:12:11
590
原创 Dart2基础(十)-异步
Dart库中的大多数函数都返回了Future和Stream对象。这些函数都是异步的,它们在设置一个可能耗时的操作(比如I/O)之后返回,而无需等待操作完成。实现异步的关键字是: async和await。 异步函数 使用async来声明一个异步函数,异步函数都会返回一个Future对象。如果没有返回任何内容,可以声明为Future<void>。异步函数在调用时,会立...
2018-10-16 17:08:36
879
原创 库和可见性
使用import和library机制可以帮你创建一个模块和可分享的代码。库可以提供API,但是以_开头定义的变量或者方法只能在库内部使用。每一个Dart的App都是一个库,即使它没有用Library机制。 库的声明 Dart2中的库可以用library来声明库的名字,也可以不用。library hello; 库的引入 使用import关键字引入库。引入库有如下三种...
2018-10-12 11:19:23
745
原创 Dart2教程
本教程是基于官网的Tour教程,以及其他的一些官方文档,其实也就是一个个人学习笔记。教程中的部分代码来自于官方文档,另一部分是个人写的。 Dart2简介 Dart2安装 第一个Dart2程序 数据类型和变量 List、Set和Map Symbol和Rune 运算符 条件判断和循环 函数 异常处理 类和枚举 泛型 库和可见性 异步未完待续......
2018-10-11 10:36:13
5767
原创 Dart2基础(九) - 泛型
目录为什么使用泛型?用于集合类型限制泛型参数类型泛型(Generics)使用<...>来定义。按照惯例,Dart2中使用E、T、K和V声明类型变量。比如: List<E>等等。 为什么使用泛型? 1. 指定泛型类型,可以是代码更安全,更易解读;2. 使用泛型还可以避免代码重复。// 官网代码abstract class Object...
2018-10-11 10:29:48
1868
原创 Dart2基础(八) - 类和枚举
目录类的定义和使用获取对象类型实例变量构造函数子类构造函数重定向构造函数静态构造函数工厂构造函数实例方法抽象类和方法隐式接口类的继承重载运算符枚举mixins类变量和方法Dart2中的类都是继承于类Object。Dart2中每一个类都有有一个超类(Object除外),但是一个类的主体可以在多个类层次中使用。 类的定义和使用...
2018-10-10 19:58:14
15543
原创 Dart2基础(七) - 异常处理
目录抛出异常捕获异常finallyDart2的异常与Java是非常类似的。Dart2的异常是Exception或者Error(包括它们的子类)的类型,甚至可以是非Exception或者Error类,也可以抛出,但是不建议这么使用。Exception主要是程序本身可以处理的异常,比如:IOException。我们处理的异常也是以这种异常为主。Error是程序无法处理的错...
2018-10-04 19:37:08
3059
原创 Dart2基础(六) - 函数
目录基本定义可选参数参数默认值 匿名函数作用域闭包main函数Dart2是纯面相对象的语言,所以函数也是一个对象。所有的函数都是基于类Function。函数也可以作为参数,传入其他的函数中。所有函数都有返回值,如果没有指定返回值,则返回null。 基本定义 函数的定义很简单,下面是一些简单的例子。// 定义一个不带返回值的函数,可以带vo...
2018-10-04 16:01:33
2250
原创 Dart2基础(五) - 条件判断和循环
目录if...elseswitch caseforwhile和do..whilebreak和continueassertDart2的条件判断和循环语句,与java非常像,我们简单梳理一下,需要注意一下assert的用法。 if...else // 结果 age is goodvar intVar = 30;if(intVar > 30){ p...
2018-10-03 11:19:34
7752
原创 Dart2基础(四) - 运算符
目录算数运算符关系运算符类型测试运算符位运算符 逻辑运算符 赋值运算符其他的运算符 Dart2的运算符其实跟Java很像,我们简单梳理一下即可。 算数运算符 算数运算符有:+(加)、-(减)、*(乘)、/(除)、~/(除,但结果返回整数)、-expr(负号)以及%(取余)。另外,还有一元运算符 ++ 和 --,这个在许多语言中都有,定义也是一样。下...
2018-10-03 10:37:20
1547
原创 Dart2基础(三) - Symbol和Rune
目录Runes(符号文字)Symbols(标志)Rune和Symbol这两种类型,不怎么常用,我们简单翻译一下官网的内容,大家了解一下即可。 可以参考 Runes(符号文字) Rune是UTF-32编码的字符串。它可以通过文字转换成符号表情或者代表特定的文字。前面咱们了解到String类型是UTF-16编码的,所以Rune是一种特殊的字符串,有自己相对独有的声明方式。我们...
2018-10-02 21:10:30
3289
原创 Dart2基础(二) - List、Set和Map
目录ListSetMap通用方法Dart2提供了3种核心的集合类型 List(列表)、Set(集合)和Map(映射)。下面是三种集合类型的使用方法: List List的声明,可以用var也可用List。// 非固定长度var testList = List();// 也可以 List testList = List();print(testList....
2018-10-02 20:53:16
21631
原创 Dart2基础(一) - 数据类型和变量
目录数据类型变量常量 数据类型 整型(int)整型是不超过64位,不同的平台位数不一样。如果是DartVM, 整型的范围是2^63-1到-2^63。如果需要编译成js代码,那么整型的范围就是2^53-1到-2^53。// 整型10进制int a = 1;// 整型16进制,以0x开头int hex = 0xEABDF;浮点型(double)浮点型是64位...
2018-10-02 12:28:05
2857
原创 第一个Dart2程序
编辑器的选择编写任何语言的代码,都需要一个比较合适的编辑器,对于Dart来说,我推荐使用Visual Studio Code。VSC的安装Dart的支持非常简单, 在【商店】中输入“dart”搜索,第一个搜索结果,就是需要安装的插件,点击【安装即可】。编写“Hello World”按照语言学习的惯例,我们的第一个Dart程序,也是以“Hello World”开始。创建一个dar...
2018-09-29 21:28:59
2276
原创 Dart2的安装
Dart2支持移动端、Web和服务端的开发,因此,它有三个SDK,来支持这三方面的开发。首先选择SDK 打开SDK下载页,选择要下载的SDK。可以根据你的需求下载,但是我要学习的是语法,所以建议先下载服务端的SDKSDK的安装以Mac的安装方式为例,过程如下,其他系统的安装都可以在安装页面找到安装方式。前提:Mac系统要支持Homebrewbrew tap dart-...
2018-09-20 14:33:57
2313
原创 Dart2简介
Dart 诞生于2011年10月10日,谷歌Dart语言项目的领导人Lars Bak在丹麦举行的Goto会议上宣布,Dart是一种“结构化的Web编程”语言,Dart编程语言在所有现代的浏览器和环境中提供高性能。Dart是谷歌开发的计算机编程语言,后来被ECMA (ECMA-408)认定为标准 [1] 。它被用于web、服务器、移动应用 [2] 和物联网等领域的开发。它是宽松开源许可证(修...
2018-09-20 14:33:43
2668
原创 axios关于cookie的问题
axios的访问请求默认是不带cookie的,因此想要带cookie的请求,需要设置一个参数: withCredentials: true可以在每次请求时设置这个参数,也可以全局设置 axios.defaults.withCredentials=true一般这样设置就没有问题了,但是如果后台还是没有获取到cookie.可以看下前端cookie的路径,跟当前请求的co...
2018-08-25 16:46:50
9961
原创 Mysql中关于0值判断的坑
最近遇到一个Mysql返回多值的问题,最后发现是mysql过滤条件中0值判断的问题。简练问题如下: 有个INT字段a,默认值为0,程序传入的判断条件是 a = 'abacd'。 传入的是一个字符串,结果a=0的所有数据都返回了。原因: mysql会在逻辑判断时,如果是整型判断,但是传入的是字符串,如果字符串不是数字,则字符串会被转换为0。所以,这段代码实际...
2018-08-15 09:51:39
9812
原创 python中使用sqlite3报 No module named _sqlite3
首先这是因为系统中没有安装sqlite导致的,centos可以使用如下命令安装: yum install sqlite sqlite-devel -y由于 sqlite在python中是基础库所以需要重新编译安装python.如果已经使用了virtualenv创建了一个虚拟环境,你会发现在虚拟环境下仍然会报 No module named _sqlite3这就需要你新建一个virtua...
2018-04-11 17:21:39
1714
原创 免费HTTPS证书Let's Encrypt安装教程的坑
怎么安装Let's Encrypt可以参考文章:https://foofish.net/https-free-for-lets-encrypt.html但是这里面会有一个大坑。一定要使用lets-encrypt-x3-cross-signed.pem,不要用lets-encrypt-x1-cross-signed.pem否则,你会发现:浏览器或者模拟HTTPS访问都没有问题,但
2018-03-09 15:54:54
2995
原创 苹果IPV6被拒的最终解决方案
最近掉入了苹果IPV6的深坑,被拒了5次。。。如果你使用过NAT64的方式配置服务器,能够测试通过IPV6,并且在本地模拟IPV6访问环境, APP功能等一切正常。那么很遗憾的告诉你,苹果审核通过的几率还是很低很低的。只能放大招了。第一步:买一个国外的虚拟机,记住一定要带IPV6地址;(PS: 我买的是美国的VPS)第二步:安装nginx, 配置代理,将服务访问转发到你的IPV4的...
2018-01-22 15:44:35
3600
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人