Rumah >pembangunan bahagian belakang >Golang >Pergi gelung import tidak dibenarkan

Pergi gelung import tidak dibenarkan

PHPz
PHPzke hadapan
2024-02-08 23:27:19690semak imbas

不允许 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

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

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

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!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam