Avatar ·

Go में "Import cycle not allowed" त्रुटि: पैकेजों के चक्रीय आयात को कैसे ठीक करें

सभी को नमस्कार! मैंने अभी-अभी Go सीखना शुरू किया है और पहले ही एक समस्या का सामना करना पड़ा है जिसे मैं स्वयं हल नहीं कर सकता। मेरे पास दो पैकेज हैं: `auth` और `user`। `auth` पैकेज में, मैं यह जांचने के लिए `user` पैकेज से `GetUserByID` फ़ंक्शन का उपयोग करना चाहता हूं कि उपयोगकर्ता मौजूद है या नहीं। और `user` पैकेज में, मुझे नया उपयोगकर्ता बनाते समय अनुमतियां जांचने के लिए `auth` पैकेज से `CheckPermission` फ़ंक्शन को कॉल करना होगा। मेरी फ़ाइलें इस प्रकार हैं: // auth/auth.go package auth import "project/user" func Login(userID int) bool { user := user.GetUserByID(userID) return user != nil } // user/user.go package user import "project/auth" type User struct { ID int Name string } func CreateUser(name string) *User { if !auth.CheckPermission("admin") { return nil } return &User{ID: 1, Name: name} } func GetUserByID(id int) *User { // ... } जब मैं कंपाइल करने का प्रयास करता हूं, तो Go त्रुटि देता है: "import cycle not allowed"। मैं समझता हूं कि यह एक चक्रीय निर्भरता है,

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग