登录
首页 >  Golang >  Go问答

静态成员变量,例如 OOP 语言

来源:Golang技术栈

时间:2023-04-12 13:10:37 359浏览 收藏

欢迎各位小伙伴来到golang学习网,相聚于此都是缘哈哈哈!今天我给大家带来《静态成员变量,例如 OOP 语言》,这篇文章主要讲到golang等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!

问题内容

我对 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-orienting-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:私有 => 第一个字母小写名称
8:命名空间 => 包名称
9:继承 => 嵌入式结构和嵌入式接口
10:线程 => Go 例程
11:锁 => sync.Mutex
...

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>