Rumah > Artikel > pembangunan bahagian belakang > Apakah maksud "eksport peringkat pakej"?
Saya sedang mengusahakan pembalak ini. Apakah sebenarnya maksud import ini?
the simplest way to use logrus is simply the package-level exported logger:
package main import ( log "github.com/sirupsen/logrus" ) func main() { log.WithFields(log.Fields{ "animal": "walrus", }).Info("A walrus appears") }
Seperti yang anda lihat daripada contoh, log "terbina dalam" telah digantikan dengan pelaksanaan di atas. Saya tidak dapat mencari sebarang spesifikasi rasmi/formal, mungkin saya tidak tahu bagaimana fungsi ini dipanggil.
Ini hanyalah rujukan kepada fakta bahawa fungsi dieksport terus pada peringkat pakej. Iaitu, mereka tidak memerlukan sebarang jenis atau rujukan pembolehubah untuk mengakses simbol yang dieksport ini.
..Hmm..Contoh dalam contoh ialah fungsi withfields()
.
Ini dieksport pada "peringkat pakej", jadi semua yang diperlukan untuk merujuk fungsi ialah nama pakej (atau alias).
Dalam kes ini, pakej logrus
telah dialiaskan kepada log
, jadi fungsi logrus
包已被别名为 log
,因此可以简单地调用它导出的 withfields()
yang dieksportnya boleh dipanggil:
log.WithFields(/* etc */)
Sebaliknya, fungsi info()
dalam contoh menggambarkan simbol (dalam kes ini fungsi) yang dieksport oleh jenis lain dalam pakej logrus
The info ()
fungsi di sini dipanggil pada rujukan logrus.entry
(dikembalikan oleh fungsi info()
函数说明了由 logrus
包中的另一种类型导出的符号(在本例中为函数);这里的 info()
函数在 logrus.entry
引用上调用(由 withfields()
).
Eksport peringkat pakej adalah perkara biasa dalam go
; pakej yang tidak mengeksport apa-apa tidak berguna kepada sesiapa pun! :)
Saya tidak pasti sama ada ia dirujuk secara eksplisit sebagai eksport "peringkat pakej"; biasanya ia hanya "eksport" atau "simbol eksport" dsb.
Dalam logrus
的情况下特别调用它们,因为包作者使用它来创建一个与 golang 中的标准 log
pakej pakej "serasi" (juga gunakan eksport "peringkat pakej"). p>
Iaitu, jika anda mahu logrus
别名为 log
,则 logrus 提供标准 log
包的超集;这是故意的,以便通过简单地更改进行 log
调用的文件中的导入语句,可以非常快速地将使用 log
包的现有代码转换为 logrus
.
Atas ialah kandungan terperinci Apakah maksud "eksport peringkat pakej"?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!