什么是Dart语言Dart语言是谷歌公司在2011年推出的新的计算机语言 。Dart可以应用于web、服务器、移动应用和物联网等领域的开发 。Dart的终极目标是取代JAVAScript 。Dart设计完全脱离JavaScript,因此它没有向后兼容JavaScript 。Dart语言的发展始终一直都是不温不火 。
为什么要用DartFlutter是谷歌的移动UI框架,可以快速在IOS和Android上构建高质量的原生用户界面 。Flutter可以与现有的代码一起工作 。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的 。Flutter选择了Dart作为开发语言,因此想学习Flutter就必须先学习好Dart 。
环境搭建下载和安装Dart可以从下载到最新版本的Dart 。
文章插图
双击下载到的exe文件,依照向导指示完成Dart的安装 。
安装验证1. window键+r打开运行窗口
1. 在运行窗口的打开输入框输入cmd,然后点击确定
文章插图
1. 在命令行界面输入命令并按回车
dart --version
文章插图
安装Visual Studio Code很多常见的IDE都有Dart的插件可以使用,这里推荐使用加插件进行Dart开发 。可以在下载到Visual Studio Code,安装完成后可以开始添加插件 。
安装Dart插件
文章插图
安装Code Runner插件
文章插图
helloworld1. 在VSC新建文件
1. 输入以下代码
void main(){ print('hello world');}1. 在文件上按鼠标右键,选择点击Run Code运行
文章插图
1. 运行结果
文章插图
变量声明var使用方式与JavaScript的var一致,可以接收任意类型的值 。不同的地方是,Dart是强类型语言,赋值以后类型就确定下来,不能再更改为其它类型 。
var name;name = 'zhangsan';// 下面的代码在dart中会报错,原因是变量name类型已经确定为String// 类型一旦确定就不能再更改.name = 100;
final和constfinal和const类似都可以定义一个常量 。它们的区别是const在声明必须赋值,而final可以先预声明需要使用时再赋值 。
// const和final在声明字面量时作用是一致的const PI = 3.14159;final PI2 = 3.14159;// 以下代码会报错,原因是常量赋值后就不能再做修改// PI = 3.1415926535;final now = new DateTime().now();// 以下代码在dart中会报错,const在编译时就必要赋值,而new DateTime().now()// 在运行才能产生具体的// const now2 = new DateTime().now();数据类型Dart内置节以下几种数据类型
· String
· Number
· Boolean
· List(Dart没有数组,类似于数组的作用)
· Map
· Runes(UTF-32字符集的字符)
· Symbols
通过一段代码来演示以上的数据类型
void main(){ // Number int a = 1; double b = 0.1; // String var s1 = 'this is a string'; String s2 = "this is another string"; // boolean var flag = true; bool flag2 = false; // List List list = [1, 2, 3, 4, 5]; List<String> list2 = ['zhang', 'san', "123", "456"]; List<dynamic> list3 = [1, true, 'haha', 1.0]; // Map Map person = new Map(); map['name'] = 'zhangsan'; map['age'] = 22; // Dart使用runes来获取UTF-32字符集的字符 。String的codeUnitAt and codeUnit属性可以获取UTF-16字符集的字符 var clApping = '\u{1f44f}'; print(clapping); // 打印的是拍手emoji的表情 // symbols print(#s == new Symbol("s")); // true}函数函数的返回值Dart是面向对象的编程语言,所以函数也是一个对象,还有一种类型Function,也就是说函数可以赋值给某个变量或者作为参数传给另外的函数 。Dart建议给函数添加上返回类型,但是不加返回类型的函数同样可以正常工作,另外还可以用lamda表达式,比如下面的代码:
// 声明返回类型int add(int a, int b) { return a + b;}// 不声明返回类型add2(int a, int b) { return a + b;}// =>是return语句的简写add3(a, b) => a + b;main() {print(add(1, 2));//3 print(add2(2, 3)); // 5 print(add3(1, 2)); // 3}命名参数、位置参数、参数默认值命名参数使用花括号将函数的参数括起来就是定义了命名参数,如下面的代码所示:
推荐阅读
- 收藏了 西门子SCL语言编程,常用指令介绍
- 为什么说C/C++是永不过时的语言?3个理由告诉你
- c语言的预处理/条件编译
- 联合国公布 世界上最难学的十大语言排行(世界上最难学的十大语言,排行第一的毋容置疑!)
- 胃疼一来就无心工作 快速缓解胃疼的方法
- 如何快速实现在网络上赚钱 网上快速赚钱的方法
- LTP 4.0!单模型完成6项自然语言处理任务
- 淘宝如何快速抢购限量 淘宝限时抢购是什么意思
- 快速瘦腿的方法3天见效 一天瘦腿的最快方法
- 深入理解C语言的指针