go - 扩展结构定义golang

标签 go

我想从另一个扩展一个结构定义

type A struct {
    name string
}

type B struct {
    A
}

因此,这里A是B的子结构。但是我不想要那样。相反,我希望B的定义与A相同,没有任何嵌套
    var a A
    var b B
    fmt.Printf("%v, %v \t", a, b)

    a.name = "john"
    b.name = "rick"

    fmt.Printf("%v, %v \t", a, b)


因此,此输出为{john} {{rick}}。我希望它是{john}{rick}

最佳答案

你可以做:

type B A

但是,如果执行此操作,则为A定义的任何方法将不适用于B

关于go - 扩展结构定义golang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58402699/

相关文章:

go - 重写goroutine函数并进行恢复

go - 检查time.now是否在一天中的两次之间

go - 如何在使用gin框架进行模拟时将json数据作为请求参数传递

json - 在所需的 JSON 参数中包装和编码 Go 结构

methods - 方法接收器作为指针与否之间的区别

Golang 捕捉信号

go - 当一个结构包含另一个结构时,如何在 Go 中将一个结构转换为另一个结构?

go - 安装和构建 Go

nginx - 如何使用golang lego let's encrypt client behind nginx?

docker - Go 1.11 在 Docker 构建中自己的包的未知导入路径