Flutter Dart语言(04)库操作

这篇具有很好参考价值的文章主要介绍了Flutter Dart语言(04)库操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0 说明

该系列教程主要是为有一定语言基础 C/C++的程序员,快速学习一门新语言所采用的方法,属于在C/C++基础上扩展新语言的模式。

1 自定义库 & 系统自定义库

引入代码如下所示:

import 'xxx.dart';     //自定义库引入,xxx为本地路径
import 'dart:async';   //系统库引入

2 第三方库引入(Pub包管理系统)

一般从官方网站:Page 1 | Top packages中 搜索需要的第三方库,打开项目中的配置文件,名为:pubspec.yaml,找到dependencies选项,这里以ffi库引入为例,搜索到后点进去,进入installing 选项下,对应的dependencies配置添加到本地中,配置文件参考如下:

dependencies:
  ffi: ^2.0.2

之后执行pub get 命令获取该第三方库到本地。接下来就可以引入使用了,参考example编写,代码如下所示:

import 'dart:ffi';            //引入的第三方库头文件
import 'package:ffi/ffi.dart';//引入的第三方库头文件

//该部分来自三方库ffi的example demo
void main() {
  // Allocate and free some native memory with calloc and free.
  final pointer = calloc<Uint8>();
  pointer.value = 3;
  print(pointer.value);
  calloc.free(pointer);

  // Use the Utf8 helper to encode zero-terminated UTF-8 strings in native memory.
  final String myString = '😎👿💬';
  final Pointer<Utf8> charPointer = myString.toNativeUtf8();
  print('First byte is: ${charPointer.cast<Uint8>().value}');
  print(charPointer.toDartString());
  calloc.free(charPointer);
}

3 库的冲突解决

如果我们引用了两个库文件,demo1.dart和demo2.dart,这两个库文件中都有对exec类的定义,那么直接使用exec方法肯定会报错,如下所示:

import 'package:dart_demo/demo1.dart';
import 'package:dart_demo/demo2.dart';

main() {
  //报错,因为清楚调用的是哪一个库文件里定义的Exec类
  Exec e = new Exec();
}

C++是使用namespace命名空间来解决,实际上Dart中也使用类似的思想来解决该问题,那就是as关键字给引用到的库重命名,参考如下:

import 'package:dart_demo/demo1.dart';
import 'package:dart_demo/demo2.dart' as lib;

main() {
  Exec e = new Exec(); //demo1中Exec
  lib.Exec e = new lib.Exec(); //demo2中Exec
}

4 库的局部导入与局部屏蔽

这里的导入分两种方式,一种是通过关键字show引入部分可用方法,一种是通过hide关键字隐藏不可用方法,代码参考如下:文章来源地址https://www.toymoban.com/news/detail-630430.html

//表示只可以使用demo1.dart库文件中的fun1()方法
import 'demo1.dart'  show fun1;    

//表示不可以使用demo2.dart库文件中的fun2()方法 
import 'demo2.dart'  hide fun2;                

到了这里,关于Flutter Dart语言(04)库操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Flutter】Flutter Dart 获取当前时间戳

    在日常的软件开发中,我们经常需要获取当前的时间戳。无论是用于日志记录,还是用于生成唯一标识符,或者是用于时间同步,时间戳都发挥着重要的作用。 本文将详细介绍如何在 Flutter 和 Dart 中获取当前时间戳。 通过阅读本文,你将掌握以下知识: 了解时间戳的重要性

    2024年02月12日
    浏览(26)
  • Flutter系列文章-Flutter环境搭建和Dart基础

    Flutter是Google推出的一个开源的、高性能的移动应用开发框架,可以用一套代码库开发Android和iOS应用。Dart则是Flutter所使用的编程语言。让我们来看看如何搭建Flutter开发环境,并了解Dart语言的基础知识。 1. 安装Flutter SDK 首先,访问Flutter官网下载Flutter SDK。选择适合你操作系统

    2024年02月15日
    浏览(32)
  • Flutter学习2 - Dart

    Dart语言特点: Dart 2.0 开始便是强类型语言,而且是静态类型的(可以类比Java,C#等) 强类型语言的优点:所有类型的检查必须在编译的时候完成 前端开发的 js 语言是弱类型的语言 强类型的语言需要在定义的时候指定类型,如果不指定,编译器也可以在赋值的时候推断出变

    2024年02月21日
    浏览(31)
  • 【Flutter】Dio 强大的Dart/Flutter HTTP客户端

    Dio是一个强大的Dart/Flutter HTTP客户端,支持全局配置、拦截器、FormData、请求取消、文件上传/下载、超时等功能。 首先,

    2024年02月11日
    浏览(32)
  • 无涯教程-Flutter - Dart简介

    Dart是一种开源通用编程语言,它最初是由Google开发的, Dart是一种具有C样式语法的面向对象的语言,它支持诸如接口,类之类的编程概念,与其他编程语言不同,Dart不支持数组, Dart集合可用于复制数据结构,例如数组,泛型和可选类型。 以下代码显示了一个简单的Dart程序

    2024年02月10日
    浏览(38)
  • 【Flutter】Dart/Flutter SDK如何降低版本、回退到指定版本

    因为dart3.0以后不再支持 no-sound-null-safety;但是有些项目不得以切换到dart3.0以前继续使用运行项目 方法1: 通过 命令,将flutter降级为当前通道的上一个活动版本; 如果没有存在老版本则会提示 flutter downgrade There is no previously recorded version for channel “stable”. 这样的话则可以通

    2024年02月16日
    浏览(25)
  • 【Flutter】dart构造函数、工厂构造函数

    在OOP中,我们会使用类来定义一类对象的属性,和行为。通过调用该类的构造函数来创建类的实例对象。在通过调用方法来实现操作行为。 和大多数 OOP 语言一样, dart 的构造函数,采用和类同名的函数名作为构造函数, 不显示声明构造函数会自动创建无参构造,构造函数不

    2024年01月21日
    浏览(24)
  • Flutter 四:main.dart简单介绍

    main.dart简单介绍 运行结果

    2024年02月03日
    浏览(26)
  • 【第二章 flutter学习之Dart介绍】

    Dart是谷歌开发的计算机编程语言,诞生于2011,可以被用于web、服务器、移动应用、物联网应用的开发。要学习flutter必须会Dart 安装 Dart Sdk vscode安装dart

    2024年02月12日
    浏览(29)
  • flutter dart json 转model用法

    定义model: 使用方法:

    2024年02月11日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包