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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Android 基于TCP的 Socket 编程实现(结合 okio)

    Android 基于TCP的 Socket 编程实现(结合 okio)两个进程如果要进行通讯最基本的一个前提就是能够唯一的标识一个进程,在本地进程通讯中我们可以使用PID来唯一标识一个进程,但PID只在本地是唯一的,网络中两个进程PID冲突几率很大,这时我们就需要通过其他手段来唯一标识网络中的进程了,我们知道IP层的ip地址可以唯一标示主机,而TCP层协议和端口号结合就可以唯一标示主机的一个进程了。

  • 鹰眼摄像头(OV7725)的使用

    鹰眼摄像头(OV7725)的使用原载:http://blog.csdn.net/lxk7280/article/details/26975233?utm_source=tuicool凭借着OV7620,将已经调好速度控制和角度控制的车子能跑起来了。基础功能实现后就开始对车子优化了。一个好的人眼睛最重要,同样对于一个好的平衡车,摄像头传感器最重要。因此我决心首先做的是对摄像头的优化。

  • 单纯形法和单纯形表_什么是初始单纯形表

    单纯形法和单纯形表_什么是初始单纯形表线性规划常用的方法是单纯形表法,下面用一个简单的例子告诉大家如何用最简单的方法求取目标函数Z值。用单纯形方法求解线性规划问题:首先引入松弛变量,把原问题化为标准形式:具体步骤如下:第1步,确定初始单纯形表第2步:判别检验所有的检验系数(1)如果所有的检验系数,则由最优性判定定理知,已获最优解,即此时的基本可行解就是最优解。(2)若检验系数…

    2022年10月29日
  • 自己搭建个人文件服务器_内网设置微信代理

    自己搭建个人文件服务器_内网设置微信代理背景:因为微信公众平台支持的后台服务器只允许为80端口,而本地服务器开发程序与在VPS上部署程序运行,每次无论是使用scp还是ftp进行文件传输无疑是低效的,因此需要一种方法可以方便的在本地服务器调试微信公众平台。有的使用,ngrok,此方法是通过ssh反向代理达到目的。1.在本地服务器通过命令:ssh–fNR8181:localhost:80user@host.com–p22–g达到…

  • MS17010(永恒之蓝)漏洞复现

    MS17010(永恒之蓝)漏洞复现MS17010(永恒之蓝)漏洞利用与复现首先需要准备win7的环境做为靶机获取信息利用nmap扫描得到,靶机IPnmap-sP192.168.229.0/24得到:IP:192.168.229.169然后利用:nmap–script=vuln192.168.229.169得到靶机信息:发现可能利用的漏洞:ms17-010然后启动msfmsfconsole然后查找漏洞路径:searchms17-010使用payload进行攻击:useexploit

  • 【已解决】MySQL Connector Net 卸载不了问题?

    【已解决】MySQL Connector Net 卸载不了问题?今天mysql出现了一些问题,想要全部卸载重新安装,控制面板中右键卸载,发现MySQLConnectorNet无法卸载。百度上搜索发现回答都是复制粘贴,千篇一律,都是检查C盘文件是否删除干净,还有就是注册表是否删除干净;使用这些方法均不能完成卸载,重装mysql。不断搜索发现一方法可行进行分享:1.微软的支持里面有一个Fixproblemsthatblockprogramsfrombeinginstalledorremoved,链接https://support.micros

发表回复

您的电子邮箱地址不会被公开。

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