ZBLOG

golang 有没有类似c++中的union

是的,Golang 也有类似于 C++ 中 union 的特性。在 Golang 中被称为“结构体嵌入”,可以使用匿名字段实现。

示例代码如下:

package main

import (
    "fmt"
)

type Union struct {
    A int
    B string
}

func main() {
    u := Union{A: 1}
    fmt.Println(u.A)
    
    u.B = "hello"
    fmt.Println(u.B)
}

在上面的例子中,我们定义了一个名为 Union 的结构体类型,包含两个字段:AB。我们可以通过创建一个该类型的变量来访问这些字段。

值得注意的是,在 Golang 中,结构体嵌入还支持指针类型和接口类型。如果嵌入了一个接口类型,则该结构体必须实现此接口中声明的所有方法。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=2579

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?