निंदा
समर्थित तरह के अंकन के कार्यों के रूप में पदावनत किया गया है कुछ इस तरह:
type MyStruct struct {
}
// MyFunc returns hello
// Deprecated: Use YourFunc
func (m MyStruct) MyFunc() string {
return "hello"
}
आधुनिक इडस पर प्रकाश डाला जाएगा किसी भी प्रयोगों के इस समारोह में linters और भी बढ़ा चेतावनी (मैं व्यक्तिगत रूप से नहीं यह जाँच)
स्वीकार इंटरफेस । वापसी structs.
एक लोकप्रिय सबसे अच्छा अभ्यास है "स्वीकार इंटरफेस । वापसी structs." - जो आदत को प्रोत्साहित करने के लिए ठोस डिजाइन सॉफ्टवेयर में.
हालाँकि, निम्न कोड है जो इस प्रकार है सबसे अच्छा अभ्यास - छा लेता निंदा चेतावनी:
// MyInterface specifies a single function that we require from a dependency
type MyInterface interface {
MyFunc() string
}
func main() {
var v MyInterface
v = MyStruct{}
v.MyFunc()
}
सवाल
वहाँ है इस समस्या का समाधान?
अगर मैं थे, उदाहरण के लिए, एक पुस्तकालय मेंटेनर: मैं कैसे कर सकते हैं यह सुनिश्चित करें कि मेरे निंदा की चेतावनी रहे हैं द्वारा देखा उपयोगकर्ताओं के पुस्तकालय भी कर रहे हैं जो निम्न सर्वोत्तम प्रथाओं को परिभाषित करने और अपने स्वयं निर्भरता इंटरफेस ।