牛骨文教育服务平台(让学习变的简单)

Go 结构体

Go语言结构体数据类是将各个类型的变量定义的集合,通常用来表示记录。

package main

import "fmt"

// 这个person结构体有name和age成员
type person struct {
	name string
	age  int
}

func main() {

	// 这个语法创建一个新结构体变量
	fmt.Println(person{"Bob", 20})

	// 可以使用"成员:值"的方式来初始化结构体变量
	fmt.Println(person{name: "Alice", age: 30})

	// 未显式赋值的成员初始值为零值
	fmt.Println(person{name: "Fred"})

	// 可以使用&来获取结构体变量的地址
	fmt.Println(&person{name: "Ann", age: 40})

	// 使用点号(.)来访问结构体成员
	s := person{name: "Sean", age: 50}
	fmt.Println(s.name)

	// 结构体指针也可以使用点号(.)来访问结构体成员
	// Go语言会自动识别出来
	sp := &s
	fmt.Println(sp.age)

	// 结构体成员变量的值是可以改变的
	sp.age = 51
	fmt.Println(sp.age)
}

输出结果为

{Bob 20}
{Alice 30}
{Fred 0}
&{Ann 40}
Sean
50
51