显示promoted方法的Golang程序

显示promoted方法的Golang程序

在Golang中,promoted方法指的是一个结构体中的嵌入类型所继承的方法。如果一个结构体嵌入了另一个结构体,那么这个结构体就可以使用嵌入结构体中的方法。在本篇文章中,我们将介绍如何显示显示promoted方法的Golang程序。

示例程序

package main

import "fmt"

type Address struct {
    Province string
    City     string
}

func (a *Address) String() string {
    return fmt.Sprintf("省份:%v,城市:%v", a.Province, a.City)
}

type Person struct {
    Name string
    Age  int
    *Address
}

func main() {
    p := Person{
        Name: "张三",
        Age:  18,
        Address: &Address{
            Province: "湖南",
            City:     "长沙",
        },
    }
    fmt.Println(p.String())
}

在这个示例程序中,我们定义了两个结构体AddressPersonAddress表示一个地址,它有一个嵌入类型String()返回一个格式化后的字符串。Person表示一个人,它有NameAge这两个字段和一个嵌入类型Address。在main()函数中,我们创建了一个Person实例,并调用了它的String()方法。

输出结果如下:

省份:湖南,城市:长沙

我们在Person结构体中嵌入了Address结构体,并没有显示定义String()方法,但是我们依然可以在main()函数中调用它。这是因为String()方法被Address结构体继承了。如果想要显示调用Address结构体中的String()方法,我们可以使用嵌入类型的类型来调用它。

修改代码如下:

fmt.Println(p.Address.String())

输出结果如下:

省份:湖南,城市:长沙

结论

在Golang中,使用嵌入类型可以方便地继承另一个结构体的方法。如果想要显示调用嵌入结构体中的方法,可以通过嵌入类型的类型来调用。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程