Rumah >pembangunan bahagian belakang >Golang >Pergi gelung import tidak dibenarkan
editor php Strawberry di sini untuk memperkenalkan peraturan penting kepada anda: dalam bahasa Go, mengimport gelung tidak dibenarkan. Ini bermakna apabila menulis kod Go, kami tidak boleh mengimport pakej semasa sekali lagi dalam pakej yang diimport. Peruntukan ini adalah untuk mengelakkan masalah kebergantungan bulat dan memastikan kebolehpercayaan dan kebolehselenggaraan kod. Jika kami menghadapi situasi import bulat semasa menulis kod, kami perlu menyemak semula struktur kod kami dan mempertimbangkan sama ada kami perlu memfaktorkan semula untuk mengelakkan berlakunya kebergantungan bulat. Dengan mengikut peraturan ini, kami boleh menulis kod Go yang lebih mantap dan boleh dipercayai.
Saya go
的新手,正在学习 go
. Saya mahukan struktur folder ini di mana model ialah entiti pangkalan data,
Pengawal ialah titik akhir,
Perkhidmatan ialah tempat kefungsian sebenar berlaku.
(Masalahnya ialah struktur folder/pakej)
Course --- Course.controler.go --- Course.model.go --- course.service.go Faculty --- Faculty.controller.go --- Faculty.model.go --- Faculty.service.go
1 Guru boleh mempunyai 0..* kursus jadi saya melaksanakan kunci asing di sini dengan mengimport pakej guru
course.model.go
package course import ( "go-server/routes/faculty" "gorm.io/gorm" ) type Course struct { gorm.Model Name string `json:"name"` Code string `json:"code" gorm:"unique;size:192"` Year int `json:"year"` Description string `json:"description"` FacultyId int `json:"faculty"` Faculty faculty.Faculty `gorm:"foreignKey:FacultyId"` }
Sekarang jika saya dalam fungsi course.service.go
中实现一个名为 GetCoursesForFacultyID(id)
Saya tidak boleh menggunakannya pada faculty.service
kerana kitaran import. Bagaimanakah saya boleh mengatasi masalah ini?
Fakulti->Kursus->Fakulti
Anda perlu menggunakan struktur folder yang berbeza
Course --- Course.controler.go --- Course.service.go Faculty --- Faculty.controller.go --- Faculty.service.go Models --- Course.model.go --- Faculty.model.go
atau
School --- Course.controler.go --- Course.model.go --- Course.service.go --- Faculty.controller.go --- Faculty.model.go --- Faculty.service.go
Atas ialah kandungan terperinci Pergi gelung import tidak dibenarkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!