掌握 Dart 中库 library 的使用
在 Dart 中import
和library
指令可以帮助你创建模块化且可共享的代码库。库不仅仅构成了 dart 程序的模块化单元,而且还是访问权限可见的单元,比如我们都知道在 dart 使用_
下划线开头标识符表示仅仅库内访问权限可见。每个 Dart 应用程序默认都是一个library
,只是没有使用library
指令显示声明。其实这个就不得不引出一个概念那就是:“顶层” 的概念,比如前面文章提到过顶层变量、顶层函数就是和这个有关。然而在 Kotlin 中也有顶层的概念,不过 Kotlin 中的顶层相对于单个代码文件而言,而类比可理解 Dart 的库也就是单个代码文件而言的。
一、顶层
1、什么是顶层?
顶层实际上是一种相比类更广的作用域,Dart 中的顶层单元和 Kotlin 一样就是文件作用域,那么在文件作用域比类就会更广,顶层内部可以包含若干个类、顶层函数、顶层变量等。
我们不妨先来看个例子:
//main.dart
main() {//此 main 函数就是 main.dart 库中的顶层函数print('hello dart');
}//实际上相当于
library main;//默认隐藏了一个 main 的 library 的声明
main() {print('hello dart');
}
实际上,上述例子中就是一个由顶层函数 main 构成的一个库。一般来说,一个库是由多个顶层声明构成的,这些声明可以是顶层变量、函数(比如例子中的 main 函数)等。
下面通过深入理解一个 stack 库的例子:
//stack1.dart
library stac
掌握 Dart 中库 library 的使用相关推荐
- Python中第三方的库(library)、模块(module),包(package)的安装方法以及ImportError: No module named...
Python中,想要安装第三方安装包,即third library,package等,对于熟悉的人来说,很简单. 但是对于新手,至少对于之前的我,很难,往往只是安装一个很小的包,都被搞得一头雾水. 现 ...
- 详解Dart中如何通过注解生成代码
简介:详解dart与java注解生成代码异同点 作者:闲鱼技术-龙湫 1.背景 最近在项目中使用到了Dart中的注解代码生成技术,这跟之前Java中APT+JavaPoet生成代码那套技术还是有一些不 ...
- Dart入门—库、泛型与异常
Dart入门-库.泛型与异常 库 Pub仓库 在Pub上可以下载到支持各种功能的包,首页在根目录下建立pubspec.yaml文件 name: test_app dependencies:sqljoc ...
- 如何在Dart中合并列表
在 Dart 编程中,List 数据类型类似于其他编程语言中的数组.列表用于表示对象的集合.它是一组有序的对象.Dart 中的核心库负责 List 类的存在.创建和操作.有 5 种方法可以组合两个或多 ...
- dart系列之:在dart中使用数字和字符串
文章目录 简介 数字 字符串 StringBuffer 总结 简介 要想熟悉一种语言,最简单的做法就是熟悉dart提供的各种核心库.dart为我们提供了包括dart:core,dart:async,d ...
- dart系列之:在dart中使用packages
文章目录 简介 pubspec.yaml get packages 使用packages 升级依赖 总结 简介 java中使用jar包来封装有用的功能,然后将其分发到maven仓库中,供其他人使用.同 ...
- python中库是什么意思_python库是什么意思
1.Python库(library) 库的概念是具有相关功能模块的集合.这也是Python的一大特色之一,即具有强大的标准库.第三方库以及自定义模块. 2.python模块是: python模块:包含 ...
- Cadence Allegro PCB设计88问解析(十四) 之 Allegro中库路径设置方法
一个学习信号完整性的layout工程师 大家在进行Layout设计时,最重要就是导入网表,放入元器件,然后进行走线.那其中的元器件就是今天和大家分享的一点,不管是阻容感,还是各种IC.连接器都是有封装 ...
- Dart中抽象类 多态以及接口
Dart中抽象类:Drat抽象类主要是用于定义标准,子类可以继承抽象类,也可以实现抽象类接口. 1.抽象类通过abstract关键字来定义 2.Drat中的抽象方法不能用abstract声明,Dart ...
最新文章
- vue项目按需引入element-ui,修改.babelrc文件之后报错
- 金融风控实战——有监督分箱
- 如何在没有Springockito的情况下模拟Spring bean
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(三十七)地图自适应区域加载...
- 安装 PostgreSQL 时丢失 libintl-8.dll 解决方案
- cmd 220 ftp 远程主机关闭连接_下载ftp软件,下载ftp软件需要注意3点
- UVA 558 SPFA 判断负环
- html 链接 vf,VFP中超链接实现方法
- 算术表达式:前缀表达式、中缀表达式、后缀表达式相互转换(手算法)
- C语言之选择结构与循环结构
- 如何控制局域网网速_免费局域网监控软件如何提升控制性能 - 百科
- 武汉好地科技为您解析CMMI3和CMMI5的区别
- VMware虚拟机安装教程
- 论文写作参考文献 期刊标准缩写
- rds是什么云模式_IaaS、PaaS、SaaS、DaaS都是什么?
- ajax的state,ajax 中readystate一直为1
- item_history_price - 获取京东商品历史价格信息
- 【转贴】北大学生对一MM征婚广告经典回复
- 宏碁笔记本关闭安全启动Secure Boot,就是改为Disabled
- 用于定义图像热区的html标记是,html 图像热区链接