Go语言中的结构体《一》

结构体的声明

结构体标识符和结构体内的字段,如果大写,则表示公共的,可以在其他包内访问,否则是私有的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*
结构体的声明
type 标识符 struct{
field1 type
field2 type
}
*/
type student struct {
name string
age int
}

func test1() {
// 结构体定义的三种方式
var stu student
stu.name = "方式1"
stu.age = 18
fmt.Printf("stu[name:%s,age:%d]\n", stu.name, stu.age)

// 通过new关键字创建的结构体,返回的是地址,所以这里的stu1是指向地址的指针
stu1 := new(student)
(*stu1).name = "方式2"
(*stu1).age = 18
fmt.Printf("stu1[name:%s,age:%d]\n", (*stu1).name, (*stu1).age)

stu2 := &student{
name: "方式3",
age: 18,
}
fmt.Printf("stu2[name:%s,age:%d]\n", (*stu2).name, (*stu2).age)
}

func main() {
test1()
}