Di Golang, apabila mengimport pakej, pembangun biasanya menggunakan sintaks import "paket_path" untuk mengimport pakej tertentu mengikut pakej laluan penuh. Walau bagaimanapun, terdapat senario di mana pembangun mungkin mahu mengimport semua subpakej dalam direktori tertentu.
Pertimbangkan struktur direktori berikut:
main.go entities/ bar/ foo.go baz.go
Dalam main.go, anda mungkin mempunyai kod berikut:
package main import "entities/bar" func main() { _ = bar.Get.Basic.Req.Headers{} // Assuming `bar` contains the nested structure }
Apabila menyusun projek ini dengan go install main, anda akan menghadapi ralat yang menyatakan bahawa tiada fail Go dalam direktori bar . Ini kerana Go tidak menyokong import kad bebas, yang membolehkan anda mengimport semua subpakej dalam direktori.
Sintaks import Golang memerlukan anda untuk menentukan nama pakej atau laluan pakej yang anda ingin import. Ini perlu kerana pengecam pakej yang diimport (nama pakej) digunakan untuk mengakses pengecam yang dieksport. Sebagai contoh, dalam contoh di atas, bar ialah nama pakej yang digunakan untuk mengakses struktur Get.Basic.Req.Headers bersarang.
Memandangkan Go tidak mempunyai sokongan langsung untuk import kad bebas, penyelesaian alternatif diperlukan untuk mencapai kefungsian yang serupa:
Atas ialah kandungan terperinci Bolehkah anda mengimport semua subpakej dalam direktori dengan import kad bebas di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!