发表日期:2018-11 文章编辑:小灯 浏览次数:1744
刚开始接触我经常打成 drat或者datr,这玩意到底是什么?
这个是 Google 七年前(2011年)发布发布新网页编程语言Dart,是一种基于类编程语言(class-based programming language),在所有浏览器都能够有高性能的运行效率,2011年10月10日Google宣布推出Dart的预览版。其官网地址是:www.dartlang.org,目前已经是Dart2版本了
Google在dartlang.org公布Dart开发工具及源代码示例等内容,同时也提供相关虚拟机平台。
目前Dart有两种方式运行:一是在本地的虚拟机上,二是将Dart代码转成Javascript,直接在Javascript引擎上运行
ECMA已经成立技术委员会TC52展开标准化Dart的工作,同时由于Dart能够被编译成标准的JavaScript,它能够有效地在所有现代浏览器上运行。2014年7月,ECMA的第107次全体大会通过了第一版Dart语言规范。
总结下来就是 dart 是计算机编程语言,是由谷歌公司开发的网络编程语言。就类似常见的 Java、C、Swift一样。并且Dart是面向对象的、类定义的、单继承的语言。它的语法类似C语言,可以转译为JavaScript,支持接口(interfaces)、混入(mixins)、抽象类(abstract classes)、具体化泛型(reified generics)、可选类型(optional typing)和sound type system。
看到这个答案的时候我就是这个表情
本来你只想简单的做个 Android 开发者的,但是你不进步就被社会淘汰,比如现在 Kotlin,weex,react native 加上 Android 本身的生态混乱,各种适配已经让你在风中凌乱,现在又来一个 dart,能给调活路吗?
但是生活不还是得继续吗,学会了dart 到时候又可以拿出去跟小伙伴们吹牛逼了,所以继续学下去。
Flutter 是 Google 推出的移动 UI 框架,野心路人皆知,但是为什么会选择 Dart 呢?
可以参考一下 这篇文章
Why Flutter Uses Dart ?
为什么 Flutter 会选择 Dart ?
里面也提到了一部分特性
其实说白了就是,可以快速学习(但我不信)、有灵活的 UI、能达到原生的性能、还可以热重载。
听起来很厉害的样子,那不管怎么样还是要学一下的。毕竟Google 早就看 Java 不爽了,说不定 Android 15.0就不打算支持了咋整。虽然你可能不会做 Android 做到那个时候。
由于你可能是做 Android 的所以应该是对 Java 比较熟悉(即使不是做 Android 的应该对 Java 也比较熟悉的我相信你),只需要注意下面强调的一些语法特性就行,其他的都比较类似,不需要全部都关注,到时候写的时候可以现学现用。
printHello({String name}) {print("hello, my name is $name"); }
按着 Java 的这种调用方式会直接运行不起
改成这样就行。
printHello(name:"简简单单敲代码"); printHello({String name}) {print("hello, my name is $name"); }
当然还有不一样的地方,现在方法定义成两个参数,之前那样调用还是可以的。
printHello({String name, String age}) {print("hello, my name is $name ,my age is $age"); }printHello(name:"简简单单敲代码");
最后再写个例子你就懂了
printHello(name:"简简单单敲代码"); printHello(age:18); printHello(age:18,name:"简简单单敲代码");printHello({String name, String age}) { print("hello, my name is $name ,my age is $age");}
看看输出很有意思,跟 Java区别还是挺大的。
是不是就可以不需要方法重载了?
- public、private、protected 没有了
- 如果一个标识符以 (_) 开头,则该标识符 在库内是私有的,
- 可以不使用new关键字创建对象
- 没有float
- int和double是num的子类
- String也可以使用单引号
- Dart需要一个布尔值的时候,只有true对象才被认为true,其他都是false。
is
和is!
当对象是相应类型时返回true
/false
??=
操作符,如果前操作数是null
类型,则将后操作数赋值给前操作数;如果前操作数不等于```null``,则保持前操作数的值发生变化。- 使用
??
表达式。
expr1 ?? expr2
如果expr1的值为non-null,则返回结果为expr1;反之则返回expr2。..
级联操作符(额。。。)可以连续的操作同一对象,达到减少中间变量,减少代码的目的。
好像很厉害的样子。
当然还有很多自己看文档吧。
日期:2018-10 浏览次数:7253
日期:2018-12 浏览次数:4328
日期:2018-07 浏览次数:4876
日期:2018-12 浏览次数:4174
日期:2018-09 浏览次数:5502
日期:2018-12 浏览次数:9922
日期:2018-11 浏览次数:4804
日期:2018-07 浏览次数:4578
日期:2018-05 浏览次数:4859
日期:2018-12 浏览次数:4324
日期:2018-10 浏览次数:5139
日期:2018-12 浏览次数:6212
日期:2018-11 浏览次数:4464
日期:2018-08 浏览次数:4592
日期:2018-11 浏览次数:12630
日期:2018-09 浏览次数:5579
日期:2018-12 浏览次数:4832
日期:2018-10 浏览次数:4187
日期:2018-11 浏览次数:4528
日期:2018-12 浏览次数:6063
日期:2018-06 浏览次数:4007
日期:2018-08 浏览次数:5436
日期:2018-10 浏览次数:4457
日期:2018-12 浏览次数:4525
日期:2018-07 浏览次数:4362
日期:2018-12 浏览次数:4500
日期:2018-06 浏览次数:4383
日期:2018-11 浏览次数:4375
日期:2018-12 浏览次数:4249
日期:2018-12 浏览次数:5283
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.