日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

dart系列之:手写Library,Library编写实践

發布時間:2024/2/28 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dart系列之:手写Library,Library编写实践 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 簡介
  • 使用part和part of
  • src中的文件
  • package中的lib文件
  • 總結

簡介

Library是dart用來組織代碼的一種非常有用的方式,通過定義不同的Library,可以將非常有用的dart代碼進行封裝,從而提供給其他的項目使用。雖然我們可以自由使用import或者export來對library進行導入和導入。但是什么樣的用法才是最合適的用法呢? 一起來看看吧。

使用part和part of

雖然很多程序員討厭使用part,但是dart確實提供了part這種功能用來將一個大的lib拆分成多個小的文件。

沒錯,和part的中文含義一樣,part就是將lib文件進行拆分用的。

part of表示當前文件是另外一個主文件的一部分。part表示主文件是由引用的文件組成的。

我們舉個例子,假如現在有三個文件student_age.dart,student_name.dart和student.dart.

其中前面兩個文件是后面一個文件的組成部分。

student_age.dart:

part of student;int getAge(){return 18; }

student_name.dart:

part of student;String getName(){return "jack"; }

student.dart:

library student;part 'some/other/student_age.dart'; part 'some/other/student_name.dart';

上面的代碼有什么問題呢?

上面代碼的問題在于對于student_age.dart來說,里面的part of只是指定了所屬的library,但是我們讀起來會一頭霧水,因為不知道具體的library到底在什么地方。

所以應該這樣寫:

part of '../../student.dart';

src中的文件

默認情況下lib目錄下的src文件只是package內部使用的,不允許被外部的項目所調用。

所以我們一定不要直接引入lib包中的src文件。

package中的lib文件

對于package來說,lib中的文件是可以被導出的文件,但是我們在引入package的時候最好不要使用絕對路徑或者相對路徑直接導入lib中的文件。

而是需要使用import ‘package:’.

舉個例子,假如我們有下面結構的library文件:

my_package └─ lib└─ api.darttest└─ api_test.dart

api.dart就是我們要導出的文件。如果我們在api_test.dart中需要引用api.dart,則可以有下面兩種方式:

import 'package:my_package/api.dart';

和:

import '../lib/api.dart';

其中上面一種方式是官方推薦的方式,為什么不使用下面一種方式呢?這是因為相對路徑的方式只能在包內部使用。并且dart官方不建議將lib放在引用路徑中,如果要引用lib內部的文件, 一定要使用package:。

當然,如果是package內部的引用,則優先使用相對路徑,比如:

my_package └─ lib├─ src│ └─ stuff.dart│ └─ utils.dart└─ api.darttest│─ api_test.dart└─ test_utils.dart

那么對應lib/api.dart來說,可以這樣引用:

import 'src/stuff.dart'; import 'src/utils.dart';

對于utils.dart來說,可以這樣引用:

import '../api.dart'; import 'stuff.dart';

對于test/api_test.dart來說,可以這樣引用:

import 'package:my_package/api.dart'; import 'test_utils.dart';

總之,不要在import的路徑中出現lib。

總結

以上就是dart中Library編寫最佳實踐。

本文已收錄于 http://www.flydean.com/28-dart-libraries-effective/

最通俗的解讀,最深刻的干貨,最簡潔的教程,眾多你不知道的小技巧等你來發現!

歡迎關注我的公眾號:「程序那些事」,懂技術,更懂你!

總結

以上是生活随笔為你收集整理的dart系列之:手写Library,Library编写实践的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。