dart flutter 文件与库的引用导出

前言

  dart语言的库及其相关语法是了解dart应用代码组织的基础。网上查找的相关资料往往只是涉及某几个点,很难有系统性的认识,这里笔者将结合一些文档和个人实践经验来对dart的库及其相关语法进行一个梳理。

库的引入

  dart中,任意一个文件都会被认为是一个库,尽管其中可能并没有library标签,dart库目前的引入方式大致有三种:

  • 引入dart语言的内置库:
import 'dart:math';

引入内置库时,在使用的uri中以dart:开头

  • 引入pub包管理器提供库:
import 'package:flutter/material.dart';

在引用包管理器提供的库时,uri中以package开头

  • 引入本地文件:
import './tools/network.dart';

引用本地文件时,uri字符串中直接填写文件的相对路径。

指定库的别名

两个库中如果存在相同的标识符,在使用时很有可能会产生冲突;或者在引入一个库的内容的时候,由于当前文件引入的库比较多,导致使用IDE工具提供的标识符名称联想时,很有可能出现一些本不是我们想要选取,但是首字母相近的内容,影响编码效率,为此我们可以使用给库指定别名的方法,来规避以上问题。

import 'package:socket_io_client/socket_io_client.dart' as IO;

class MySocketIO {
  IO.Socket mySocket;
  MySocketIO(this.mySocket);
}

只引入库的部分内容

如果只想引入库的部分内容,可以使用如下语法:

// Import only foo.
import 'package:lib1/lib1.dart' show foo;

如果想屏蔽库中的某些内容,不引入这部分:

// Import all names EXCEPT foo.
import 'package:lib2/lib2.dart' hide foo;

关于part、library和part of

在具体业务中有以下痛点:我们在应用中定义了多个类或者其他方法,在引用时我们想只import一个文件就将相关内容全部导出,如果将所有的类或者方法都放在一个文件中,会导致这个文件十分庞杂,不利于后续维护。为了解决这个问题,

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值