我对 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://github.com/luciotato/golang-notes/blob/master/OOP.md
https://www.goinggo.net/2013/07/object-oriented-programming-in-go.html https://www.goinggo.net/2013/07/object-oriented-programming-in-go.html
1:C#类中的静态变量 => Golang包中的全局变量
2:C# 中的枚举 => 具有枚举名称和枚举元素 const 类型的新包
3:OOP中的类=>结构类型
4:类方法 => 具有接收器方法的结构
5:C#/Java 抽象方法(C++ 中的纯虚函数)=> io.Reader 等接口方法
6: public => 首字母大写名称
7: private => 首字母小写名称
8:命名空间=>包名
9:继承=>嵌入结构和嵌入接口
10: 线程 => Go 例程
11: 锁 => 同步.Mutex
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)