GO语言之---结构体

  • GO语言之结构体

结构体的声明:

struc:= Hello{
    Name: "mytest",
    Power: 200,
}

注意:

  • 上面的结构体中,结尾的逗号,是不能省的。
  • 如果没有逗号,编译器会给出一个错误。
  • 或者你可以声明一个空的结构体:
strtc:=Hollo{ }
  • 我们可以将一个方法和一个结构体关联:
type Hello struct {
    Name string
    Power int
}

func (s *Hello) Super() {
    s.Power += 10
}

在上面的代码中,我们可以说类型*Hello是Super方法的接收者。可以向下面代码一样调用Super:

hello:= &Hello{"test", 100}
hello.Super()
fmt.Println(hello.Power) // 将打印:110

或者在一个函数中返回一个结构体

func newTest(name string, power int) Hello {
    return Hello{
        Name: name,
        Power: power,
    }
}

结构体的嵌套:

type Person struct {
    Name string
}

func (p *Person) Introduce() {
    fmt.Printf("Hi, I'm %s\n", p.Name)
}

type Hello struct {
    *Person
    Power int
}

// 使用:
mytest:= &Hello{
    Person: &Person{"Goku"},
    Power: 9001,
}
mytest.Introduce()
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值