我对Go很陌生,然后我搜索了很多关于如何使用静态函数/变量(例如C#)创建静态类的示例。但是,我找不到任何能很好回答的问题。也许这个问题看起来很愚蠢,但是当我不确定或我不完全了解某些内容时,我不喜欢它。
假设我们有以下代码:
public class Program { public static string name = "Program tester."; public enum Importance { None, Trivial, Regular, Important, Critical }; public static void tester(Importance value) { // ... Test against known Importance values. if (value == Importance.Trivial) { Console.WriteLine("Not true"); } else if (value == Importance.Critical) { Console.WriteLine("True"); } } }
如果我理解Golang就是一种C语言,那么它是否具有上述行为,例如C / C#语言?我上面的代码可以用C / C#来实现,还是通过以C语言传递(使用C模块化编程方式)来实现?
Go中没有继承, 但是您可以用Golang方式完成所有OOP的工作。
另请参阅: https : //github.com/luciotato/golang-notes/blob/master/OOP.md https://www.goinggo.net/2013/07/object-oriented- programming-in-go.html
1:C#类中的静态var => Golang包中的全局var 2:C#中的枚举=>具有枚举名称和枚举元素的const类型的新包 3:OOP中的类=>结构类型 4:类方法=>带有接收者的结构方法 5:C#/ Java抽象方法(C ++中的纯虚函数)=>类似于io.Reader的接口方法 6:public =>首字母大写名称 7:private =>首字母小写名称 8:命名空间=>包名称 9:继承=>嵌入式结构和嵌入式接口 10:线程=>转到例程 11:锁=> sync.Mutex …