【Golang学习】第八章 结构体struct

目录

一、定义

二、赋值

三、结构体的方法

四、结构体嵌套结构体


一、定义

type Entin struct {
	Name string
	Age int
	Sex bool
	Hobbies []string
}

二、赋值

var a Entin
a.Name = "Entin"
a.Age = 18
a.Sex = true
a.Hobbies = []string{"Singing", "Dancing"}
fmt.Println(a)	// {Entin 18 true [Singing Dancing]}
// 这种方式赋值可以不按顺序
b := Entin{
	Name: "Entin",
    Hobbies: []string{"Singing", "Dancing"},
	Sex: true,
	Age: 18,
}
fmt.Println(b)	// {Entin 18 true [Singing Dancing]}
// 这种方式赋值一定要按顺序
c := Entin{
	"Entin", 18, true, []string{"Singing", "Dancing"},
}
fmt.Println(c)	// {Entin 18 true [Singing Dancing]}
// 使用new得到的是结构体的地址
d := new(Entin)
d.Name = "Entin"
fmt.Println(d)	// &{Entin 0 false []}
e := d
e.Age = 18
fmt.Println(d)	// &{Entin 18 false []}

三、结构体的方法

type Entin struct {
	Name string
	Age int
	Sex bool
	Hobbies []string
}

func (f *Entin)Sing(name string){
	fmt.Printf("%v is singing %v.", f.Name, name)
}

func main(){
	entin := Entin{
		"Entin", 18, true, []string{"Singing"},
	}
	entin.Sing("a song")
}

/*
输出结果:
Entin is singing a song.
*/

四、结构体嵌套结构体

type Entin struct {
	Name string
	Figure
}
type Figure struct {
	Height int
	Weight int
}
func (a *Figure)figure(){
	fmt.Printf("weight = %d, height = %d", a.Height, a.Weight)
}

func main(){
	entin := Entin{Name: "Entin"}
	entin.Height = 188
	entin.Weight = 77
	fmt.Println(entin)
	entin.figure()
}

/*
输出结果:
{Entin {188 77}}
weight = 188, height = 77
*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值