登录
首页 >  Golang >  Go问答

在 Go 中是否可以使用方法来定义类型别名?

来源:stackoverflow

时间:2024-02-10 13:18:17 482浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《在 Go 中是否可以使用方法来定义类型别名?》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

如何使下面的代码起作用?我想用 gents 类型调用 age 方法。

package main

type Man struct {
}

func (man *Man) Age() {
}

type Gents Man

func main() {
    var m1 Man
    m1.Age()

    var g1 Gents
    g1.Age()
}

正确答案


基本上,您想要继承

package main

import "fmt"

type Man struct {
    Year int
}

func (man *Man) Age() int {
    return 2022 - man.Year
}

type Gents struct {
    Man // anonymous field
}

func main() {
    var m1 = Man{
        Year: 1995,
    }
    fmt.Println(m1.Age()) // 27
    var g1 = Gents{
        Man{
            Year: 2002,
        },
    }
    fmt.Println(g1.Age()) // 20
}

go playground link

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

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