Pergi gelung import tidak dibenarkan

PHPz
Lepaskan: 2024-02-08 23:27:19
ke hadapan
655 orang telah melayarinya

不允许 Go 导入循环

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.

Isi soalan

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
Salin selepas log masuk

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"`
}
Salin selepas log masuk

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

Penyelesaian

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
Salin selepas log masuk

atau

School
    --- Course.controler.go
    --- Course.model.go
    --- Course.service.go
    --- Faculty.controller.go
    --- Faculty.model.go
    --- Faculty.service.go
Salin selepas log masuk

Atas ialah kandungan terperinci Pergi gelung import tidak dibenarkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!