• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

dart之旅(一)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

前言

最近在看dart了,本着“纸上得来终觉浅,绝知此事markdown”的原则,准备边学边写,写一个系列,这是第一篇。学习过程中主要是参考
A Tour of the Dart Language
A Tour of the Dart Libraries,外加自己的一些理解。内容上侧重于基础以及比较dart和js的异同。

安装sdk

工欲善其事,必先利其器,我们先来安装一下,dart的sdk,只有这样,我们写的dart代码才能跑起来。安装sdk可以参考搬砖老程的这篇博客,写的可以说是很详细了,安装完成之后,在命令行终端输入dart,如果输出dart相关命令的解释,那就表示我们的环境安装成功。接下来我们先记住一个命令dart xxx.dart就可以执行dart文件了。以下面这段dart代码为例:


// Define a function.
printInteger(int aNumber) {
  print('The number is $aNumber.'); // Print to console.
}

// This is where the app starts executing.
main() {
  var number = 42; // Declare and initialize a variable.
  printInteger(number); // Call a function.
}

将上面的这段代码保存为main.dart,在终端输入dart main.dart,我们就将第一个dart程序跑了起来。

变量

在dart中,可以使用var, dynamic, const, final来声明变量/常量。为了找出它们之间的不同,我们来看一个例子。


main(List<String> args) {
  // var
  var d = "111"; 
  // String d ='111'; 等价于显式声明d的类型并赋值
  // d = 2; // 不能再赋不同类型的值
  print(d);

  // dynamic
  dynamic c = 'sss';
  c = 3; // 可以赋值不同类型的值
  print(c);
}

从上面的例子可以看出,dart具有类型推断机制,当使用var声明一个变量时,这个变量自动被定义成所赋值的类型,之后重新赋值时,只能对这个变量赋同类型的值。
而dynamic在重新赋值的时候可以赋不同类型的值。

接下来再谈谈finalconst,final和const都只能被赋值一次,但是两者还是有如下区别:

  • 1️⃣const可以作用在值上,当const作用在值上时,值不可修改,如果对应的变量没有用const或者final声明,变量可以重新赋值
  • 2️⃣使用const声明的对象,之后不能再进行操作(unmodifiable),而final声明的是可以的。参考下面的代码:

   final name = 5;
   final name1 = const 5;
   var name2 = const {};
   const ax = 6;
   
   const x = [];
   x.add(6); // Cannot add to an unmodifiable list
   
   final y = [];
   y.add(9); // ok
   
   const x1 = {}; 
   obj['x1'] = 5; //Cannot set value in unmodifiable Map
   
   final y1 = {};
   obj['y1'] = 5; //ok
   

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Dart语言特性必备了解!发布时间:2022-07-14
下一篇:
dart 如何优雅的避空发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap