我最近一直在做一些围棋编程,同时试图关注EffectiveGo风格指南,我有时发现在命名包、接口(interface)和结构时很难避免口吃。举个例子。我可能有一个console包,其中包含一个Console.go文件,其中包含一个Console接口(interface)、一个console结构和一个新的功能。//console/Console.gopackageconsoletypeConsoleinterface{Print(sString)}typeconsolestruct{....}func(c*console)Print(sString){....}funcNew()Cons