Mengimport Subpakej dengan Go: Menangani Ralat "No Go Files"
Dalam Go, mengimport subpakej dengan merujuk direktori induknya bukan secara langsung disokong. Walau bagaimanapun, terdapat pendekatan alternatif untuk menangani mesej ralat biasa "fail tiada Go dalam [direktori induk]."
Pertimbangkan senario berikut:
package main import "one/entities/bar" func main() { }
Dengan struktur direktori ini:
- one - entities - bar - file.go
Apabila cuba membina projek menggunakan go install main, ralat timbul yang menunjukkan ketiadaan fail Go dalam direktori subpakej. Untuk menyelesaikan isu ini, anda tidak boleh mengimport subpakej menggunakan sintaks kad bebas kerana pernyataan import memerlukan nama atau laluan pakej yang jelas.
Untuk mengimport subpakej dengan betul, anda harus mengimport setiap subpakej secara individu. Contohnya, untuk mengimport subpakej bar, anda akan mengubah suai fail main.go seperti berikut:
package main import ( "one/entities/bar/file1" "one/entities/bar/file2" ) func main() { }
Sebagai alternatif, anda boleh menggunakan laluan import tersuai untuk mengumpulkan subpakej berkaitan di bawah satu penyata import. Ini boleh meningkatkan kebolehbacaan dan mengurangkan bilangan baris import. Untuk mencapai ini, cipta direktori bernama import dalam direktori satu/entiti dan letakkan fail bernama init.go di dalamnya. Dalam fail init.go, tentukan laluan import tersuai dan import subpakej yang diingini:
// import/init.go package entities import ( _ "one/entities/bar/file1" _ "one/entities/bar/file2" )
Kemudian, dalam fail main.go anda, import pakej entiti menggunakan laluan import tersuai:
// main.go package main import ( "log" "one/entities" ) func main() { v := entities.Bar_file1.Get.Basic.Req.Headers{} log.Fatal(v) }
Dengan mengikut pendekatan ini, anda boleh mengimport subpakej dengan betul dalam Go, menyelesaikan ralat "no Go files" dan mengatur import anda untuk kebolehbacaan kod yang lebih baik.
Atas ialah kandungan terperinci Cara Mengimport Subpakej dalam Go: Apa yang Perlu Dilakukan Apabila Anda Mendapat Ralat \'No Go Files\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!