flutter 泛型_Flutter之旅:Dart语法扫尾-包访问-泛型--异常-异步-mixin

本文介绍了Dart编程中的一些高级特性,包括级联操作符(..)使得代码更简洁,条件调用符(?.)避免空异常,类型判断关键字(is, is!, as)以及库的使用和可见性控制。此外,还讲解了泛型在Dart中的应用,如何限制外部访问以及library和export关键字的使用。异步操作和异常处理方面,讨论了async/await关键字和异常捕捉的重要性。最后,文章提到了Dart的多继承替代方案——mixin,及其解决父类构造冲突和方法重名的问题。" 113508018,10540546,AlphaDict:Python打造的开源词典软件,"['Python', '词典制作', '跨平台应用', '开源软件', 'QT库']
摘要由CSDN通过智能技术生成

1、其他常用符号与关键字

1.1:级联操作符:..

那Paint对象的设置来看:

---->[情景1:曾经的写法]----

var paint = Paint();

paint.strokeCap = StrokeCap.round;

paint.style = PaintingStyle.stroke; //画线条

paint.color = Color(0xffBBC3C5); //画笔颜色

paint.isAntiAlias = true; //抗锯齿

paint.filterQuality = FilterQuality.high; //抗锯齿

---->[情景2:级联的写法]----

paint

..strokeCap = StrokeCap.round

..style = PaintingStyle.stroke //画线条

..color = Color(0xffBBC3C5) //画笔颜色

..isAntiAlias = true //抗锯齿

..filterQuality = FilterQuality.high;

很简洁,很高大上有木有,

1.2: 条件调用符:?.

---->[情景1:普通调用]----

void main() {

var a = -5;

print(a.abs());//5

}

---->[情景2:普通调用前置空,会崩掉]----

var a = 5;

a=null;

print(a.abs());//NoSuchMethodError: The method 'abs' was called on null.

---->[情景3:?.调用不会崩掉,只返回null]----

var a = 5;

a = null;

print(a?.abs()); //null

1.3:类型判断关键字、is 、 is!和as

var b=10;

print(b is String);//false

print(b is num);//true

print(b is! double);//true

String c="12315";

print((c as Comparable).compareTo("a"));//-1 强制类型转换

print((c as num).abs());//类型转换异常

// type 'String' is not a subtype of type 'num' in type cast

2.库的使用和可见性

2.1:库的基本使用

import 'dart:math';//导入math内置库

import 'package:flutter/material.dart';//根据文件系统路径到包

2.2:类库中的命名冲突: as 关键字的使用

当sin函数处于连个包中,并且两个包都被导入,该怎么办

---->[utils/color_utils.dart]----

sin(double d){

}

---->[main.dart:5]----

import 'package:toly/utils/color_utils.dart';

import 'dart:math';

void main() {

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值