Flutter(三)——一篇文章掌握Dart语言的用法(二)

简介: Flutter(三)——一篇文章掌握Dart语言的用法(二)
+关注继续查看

运算符


(1)三目运算符


在上面类型介绍中,我们已经介绍了一些运算符,这里我们介绍上面没有提及的运算符,以及一些要注意的事项,首先,就是Dart语言的三目运算符,这个相当的重要,经常与flutter中的state状态管理结合使用,来判断组件的状态,用法如下:

expr1 ?? expr2//如果expr1非空,则返回expr1,否则返回expr2

我们在来看一个与Java类似的用法:

int a=20;
var va1=a>10 ? a : 0;


(2)~/


细心的读者,应该看到博文上面提到了一个~/运算符,这个是返回一个整数结果,取商,使用方式如下:

var va1=12~/7;
print(va1);//打印出来的是1


(3)级联操作符


这个有点类似一些语言的链式调用,使用过Java和JavaScript应该见的非常多,使用方式如下:

String str=(new StringBuffer()
  ..write('Li ')
  ..write('Yuan ')
  ..write('Jing').toString());
print(str);//会打印除Li Yuan Jing


(4)as,is和is!


as:判断属于某种类型


is:如果对象具有指定类型,则为True


is!:如果对象具有指定类型,则为False


异常捕获

要说Dart语言有什么特殊的强大功能,我想捕获异常真的是非常的好用,比Java还要强大,我们先来看一段代码:

throw Exception('我是异常');

我们不仅仅需要抛出异常,还要捕获异常,所以在Dart语言中,捕获异常的详细代码如下:

try{
//捕获特定类型异常
}on AuthorizationException catch(e){
//捕获特定类型异常,但不要这个对象
}on Exception{
//捕获所有异常
}catch(e){
//....
}finally{
//....
}


函数Function

Dart语言是一门面向对象语言,所以函数也是对象,并且函数的类型是Function。这点和JavaScript非常相似。在JavaScript里面Function是可以作为参数传递的,在Flutter里面,也不例外,即函数可以分配给变量或作为参数传递给其他函数,定义函数的代码如下:

bool getName(name){
    return name;
}


main函数

没有应用程序都必须有一个顶层main函数,作为程序的入口,这一点和Java一样,它是应用程序的入口点。该函数返回void并具有List的可选参数。第二篇我们讲解过源码,入口函数就是这样:

void main()=>runApp(MyApp());

可选参数与必传递参数

定义可选参数的函数,顾名思义,就是不传这些参数也可以调用函数,例如:

void getName({String name,int age}){
}


这里可以传递一个,也可以传递二个,也可以一个都不传递。那么必传递该怎么写呢?我们直接上代码:

void getName({@required String name,@required int age}){
}


必传参数用@required修饰,在Dart语言中,使用@required有利于静态代码分析器进行检查。


可选的位置参数

一个函数里面即包含可选参数,也包含必选参数,我们需要这样写:

void getName({String name,int age,[String school]}){
    if(school!=null){
  print('学校是$school');
    }
}


默认参数

默认参数是编译时的常量,在函数的参数后面,使用“=”为参数赋值,这个有一点像JavaScript里的ES6特性,例如:


void getName({String name='李元静',int age=27}){
}


函数作为参数传递

既然我们开头提到了函数可以作为参数传递,我们不妨直接上代码理解:

void getName(String name){
    print(name);
}
var names=['小静','小尧','小帆'];
names.forEach(getName);


函数作为变量

函数也可以直接赋值给一个变量,并且把这个变量作为函数来调用,代码如下:

var printName=(name){
    print(name);
};
printName('Li YuanJing');
相关文章
|
27天前
|
开发框架 Dart Java
Flutter中Dart语言常用知识
@[TOC](目录) Flutter 是一种使用 Dart 语言开发的跨平台移动应用程序框架。在 Flutter 中,Dart 语言是主要的编程语言,它提供了许多强大的功能和语法糖,可以让开发者更轻松地构建高性能、美观的应用程序。下面是 Flutter 中 Dart 语言的一些详细介绍和代码示例: # 1. 变量和数据类型 在 Dart 语言中,变量不需要声明,可以直接赋值。Dart 语言支持多种数据类型,包括整数、浮点数、布尔值、字符串、列表、映射等。例如: ```dart int a = 10; double b = 3.14; bool c = true; String
|
29天前
|
Dart
Flutter 入门指南之 Dart 语言基础介绍
Dart是一种由Google开发的通用编程语言,用于构建跨平台的移动、Web和桌面应用程序。以下是Flutter入门指南中的Dart语言基础知识:
|
9月前
|
存储 Dart 前端开发
Flutter(三)——一篇文章掌握Dart语言的用法(三)
Flutter(三)——一篇文章掌握Dart语言的用法(三)
174 0
Flutter(三)——一篇文章掌握Dart语言的用法(三)
|
9月前
|
存储 Dart JavaScript
Flutter(三)——一篇文章掌握Dart语言的用法(一)
Flutter(三)——一篇文章掌握Dart语言的用法(一)
263 0
Flutter(三)——一篇文章掌握Dart语言的用法(一)
|
10月前
|
Dart
[Flutter]足够入门的Dart语言系列之面向对象:类之间的6大关系
无论是面向对象编程,还是面向过程、函数式编程,代码与代码之间的组织关系都是最重要的。通过代码的编写、代码间的相互调用、不同代码的合理使用、集合不同的数据和方法,才能...
146 0
[Flutter]足够入门的Dart语言系列之面向对象:类之间的6大关系
|
10月前
|
存储 缓存 Dart
[Flutter]足够入门的Dart语言系列之面向对象:类成员的可见性、常量和工厂构造函数详解
类和成员的可见性,这在基于库或包的开发中非常重要,Dart中提供了工厂构造函数,可以方便的实现单例、缓存实例对象、返回子类等,以及常量构造函数的使用......
127 0
[Flutter]足够入门的Dart语言系列之面向对象:类成员的可见性、常量和工厂构造函数详解
|
10月前
|
Dart
[Flutter]足够入门的Dart语言系列之面向对象:类的定义详解、成员和实例使用
类表示的是分类,一类问题或事物,它是对具体或现实世界的抽象。比如动物类、犬科动物类、猫科动物类、房子类、数学类,类是具体事物的描述,它不是指具体的某个动物、某栋房子、某个数学题,而是对它们的概括...
128 0
[Flutter]足够入门的Dart语言系列之面向对象:类的定义详解、成员和实例使用
|
10月前
|
自然语言处理 Dart 算法
[Flutter]足够入门的Dart语言系列之函数:匿名函数、作用域闭包、类型别名和内联函数类型
函数在Dart中是对象,因此,可以将函数作为参数传递给另一个函数、作为一个'值'赋值给一个变量。下面主要介绍匿名函数、内联函数类型的使用,以及了解下作用域和闭包...
421 0
[Flutter]足够入门的Dart语言系列之函数:匿名函数、作用域闭包、类型别名和内联函数类型
|
10月前
|
Dart
[Flutter]足够入门的Dart语言系列之函数:函数定义、调用、5种参数类型和main函数
函数(Function)也被称为方法(Method)。其最直观的理解就是数据中的函数,比如y=f(x),在编程中,f对输入x进行处理,返回结果y,就是一个函数......
456 0
[Flutter]足够入门的Dart语言系列之函数:函数定义、调用、5种参数类型和main函数
|
10月前
|
存储 Dart
[Flutter]足够入门的Dart语言系列之常见运算符或操作符
Dart中的运算符提供对数据操作和处理的能力,其中的算术运算符、逻辑运算符非常符合现实中的使用情况,其他不同的运算符则有着自己的操作逻辑...
290 0
[Flutter]足够入门的Dart语言系列之常见运算符或操作符
相关产品
云迁移中心
推荐文章
更多