- 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()