GO 结构体
时间: 2023-06-22 17:24:41 浏览: 112
在 Go 中,结构体是一种自定义的数据类型,它由一组具有任意类型的字段组成。结构体可以用来表示一个复杂的实体,例如一个人、一篇文章、一本书等等。
结构体的定义语法如下:
```
type StructName struct {
Field1 type1
Field2 type2
...
}
```
其中 `StructName` 是结构体类型的名称,`Field1`、`Field2` 等是结构体的字段名,`type1`、`type2` 等是字段的类型。
例如,我们可以定义一个 `Person` 结构体类型,它由 `Name` 和 `Age` 两个字段组成:
```
type Person struct {
Name string
Age int
}
```
在使用结构体类型时,我们可以通过结构体字面量来创建结构体变量,并初始化它的字段值。例如:
```
p := Person{Name: "Tom", Age: 18}
```
在上面的例子中,我们使用 `Person{}` 创建了一个空的 `Person` 结构体变量,并通过 `Name: "Tom"` 和 `Age: 18` 初始化了它的字段值。
我们可以通过点号(`.`)来访问结构体变量的字段值。例如:
```
fmt.Println(p.Name) // 输出 "Tom"
fmt.Println(p.Age) // 输出 18
```
需要注意的是,结构体是值类型,当我们将一个结构体变量作为参数传递给函数时,实际上传递的是这个结构体变量的副本,因此在函数内部修改结构体变量的值不会影响原始结构体变量的值。如果我们希望在函数内部修改原始结构体变量的值,可以将结构体变量的指针作为函数参数传递。
阅读全文