Fluter 学习笔记 之 Dart 语言入门

Fluter 学习笔记 之 Dart 语言入门基本类型var可以定义变量,如vartag=”666″,这和JS、Kotlin等语言类似,同时Dart属于动态类型语言,支持闭包。Dart中number类型分为int和double,其中java中的long对应的也是Dart中的int类型。Dart中没有float类型。Dart下只有bool型可以用于if等判断,不…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

基本类型

var 可以定义变量,如 var tag = “666” ,这和 JS 、 Kotlin 等语言类似,同时 Dart 属于动态类型语言,支持闭包。

Dart 中 number 类型分为 int 和 double ,其中 java 中的 long 对应的也是 Dart 中的 int 类型。Dart 中没有 float 类型。

Dart 下只有 bool 型可以用于 if 等判断,不同于 JS 这种使用方式是不合法的 var g = “null”; if(g){ } 。

Dart 中,switch 支持 String 类型。

 

内置类型

Number 类型:int(整型),double(浮点型)

String 类型:字符串 打印时如果加上 r” “则里面的内容不会被转义,字符串后面加[]是去除字符串里面该下标的字符

插值表达式:

int a = 1;
int b = 2;
print("a + b = ${ a + b }");

//输出结果为 a + b = 3

print("a = $a");

//输出结果为 a = 1

Jetbrains全家桶1年46,售后保障稳定

BOOL 类型:(true, false)

List:(数组,列表),创建方式

//创建 list
var list = [1,2,3];
//创建不可变 list
var list = const[1,2,3];
//构造创建
var list = new List();

Map 类型

//创建 Map
var lan = {"first":"dart","second":"Java"};

//创建不可变 Map
var lan = const {"first":"dart","second":"Java"};

//构造创建
var lan = new Map();

 

变量

Dart 不需要给变量设置 setter getter 方法, 这和 kotlin 等类似。Dart 中所有的基础类型、类等都继承 Object ,默认值是 NULL, 自带 getter 和 setter ,而如果是 final 或者 const 的话,那么它只有一个 getter 方法。

Dart 中 final 和 const 表示常量,且只能被赋值一次,不能二次修改,比如 final name = ‘GSY’; const value= 1000000; 同时 static const 组合代表了静态常量。其中 const 的值在编译期确定,final 的值要到编译时才确定。(ps Flutter 在 Release 下是 AOT 模式。)

Dart 下的数值,在作为字符串使用时,是需要显式指定的。比如:int i = 0; print(“aaaa” + i); 这样并不支持,需要 print(“aaaa” + i.toString()); 这样使用。这和 Java 与 JS 存在差异。所以在使用动态类型时,需要注意不要把 number 类型当做 String 使用。

Dart 中数组等于列表,所以 var list = []; 和 List list = new List() 可以简单看做一样。

 

 

方法

Dart 下 ?? 、??= 属于操作符,如: AA ?? “999” 表示如果 AA 为空,返回999;AA ??= “999” 表示如果 AA 为空,给 AA 设置成 999。

Dart 方法可以设置 参数默认值 和 指定名称 。比如: getDetail(Sting userName, reposName, {branch = “master”}){} 方法,这里 branch 不设置的话,默认是 “master” 。参数类型 可以指定或者不指定。调用效果: getRepositoryDetailDao(“aaa”, “bbbb”, branch: “dev”);

Dart 不像 Java ,没有关键词 public 、private 等修饰符,_下横向直接代表 private ,但是有 @protected 注解。

Dart 中多构造函数,可以通过如下代码实现的。默认构造方法只能有一个,而通过Model.empty() 方法可以创建一个空参数的类,其实方法名称随你喜欢。而变量初始化值时,只需要通过 this.name 在构造方法中指定即可:

class ModelA {
  String name;
  String tag;
  
  //默认构造方法,赋值给name和tag
  ModelA(this.name, this.tag);

  //返回一个空的ModelA
  ModelA.empty();
  
  //返回一个设置了name的ModelA
  ModelA.forName(this.name);
}

基础语法学习参考视频课程:https://www.imooc.com/video/19041,或者文章:https://www.jianshu.com/p/3d927a7bf020

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234807.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 六大算法之动态规划_leetcode迷宫最短路径

    六大算法之动态规划_leetcode迷宫最短路径在两条独立的水平线上按给定的顺序写下 nums1 和 nums2 中的整数。现在,可以绘制一些连接两个数字 nums1[i] 和 nums2[j] 的直线,这些直线需要同时满足满足:nums1[i] == nums2[j]且绘制的直线不与任何其他连线(非水平线)相交。请注意,连线即使在端点也不能相交:每个数字只能属于一条连线。以这种方法绘制线条,并返回可以绘制的最大连线数。示例 1:输入:nums1 = [1,4,2], nums2 = [1,2,4]输出:2解释:可以画出两条不交叉的

    2022年8月9日
    3
  • NHibernate详解

    NHibernate详解什么是NHibernate:       NHibernate是一个基于.Net的针对关系型数据库的对象持久化类库。Nhibernate来源于非常优秀的基于Java的Hibernate关系型持久化工具。NHibernate从数据库底层来持久化你的.Net对象到关系型数据库。NHibernate为你处理这些,远胜于你不得不写SQL去从数据库存取对象。你的代码仅仅和对象关联,N

    2022年7月26日
    4
  • zen cart template zencart模板修改[通俗易懂]

    zen cart template zencart模板修改[通俗易懂]encarttemplatezencart模板修改byZENCART模板 | postacomment下面简单的介绍下zencart网站模板的修改。修改较多的地方:(常用代码)一:头部文件为(例子):D:AppServwwwzencart12698includestemplatestheme3common–tpl_header.php1.

    2022年7月27日
    3
  • 端口号大全「建议收藏」

    端口号大全「建议收藏」计算机系统“端口”是英文port的义译,可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如:USB端口、串行端口、打印机端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。说白了,我们在计算机的任何操作都在有意无意的使用着计算机的各个端口,下面列出了计算机的常用端口:0…

    2022年9月2日
    2
  • linux(4)Linux 文件内容查看「建议收藏」

    linux(4)Linux 文件内容查看「建议收藏」查看文件内容总览cat由第一行开始显示文件内容tac从最后一行开始显示,可以看出tac是cat的倒着写!nl显示的时候,顺道输出行号!more一页一页的显示文件内容less

    2022年7月29日
    5
  • c语言和java语言哪个比较好

    c语言和java语言哪个比较好c语言和java语言哪个比较好java语言和c语言的区别有单文件的编译时间java比c语言快;c语言可以直接操作内存,java不能直接操作;c语言可以封装动态库,java不行;c语言有指针,java没有指针;c语言可以直接操作串口,java需要第三方jar包支持等等,那么c语言和java语言哪个比较好?两者有什么区别呢?下面就来具体了解一下。1、c语言可以直接操作串口,java需要第三方jar包支持;c语言的线程更加灵活,java的线程都已经封装好了;c语言做单独功能,可以增加效率,java适用做w

    2022年7月16日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号