在 Go 语言中,结构体是一种自定义的复合数据类型,它可以包含多个不同类型的字段,并且可以定义自己的方法。
结构体定义
在 Go 语言中,结构体的定义使用 type
关键字和 struct
关键字。结构体的定义语法如下:
type StructName struct {
FieldName1 FieldType1
FieldName2 FieldType2
...
}
其中 StructName
表示结构体的名称,FieldName1
、FieldName2
等表示结构体的字段名称,FieldType1
、FieldType2
等表示结构体的字段类型。
下面是一个示例代码,演示了如何定义一个结构体:
package main
import "fmt"
// 定义一个名为 Person 的结构体类型
type Person struct {
Name string
Age int
}
func main() {
// 创建一个 Person 类型的变量
var person Person
// 打印变量的值
fmt.Println(person) // 输出:{ 0}
// 修改变量的值
person.Name = "Alice"
person.Age = 18
// 打印变量的值
fmt.Println(person) // 输出:{Alice 18}
}
在上面的代码中,我们定义了一个名为 Person
的结构体类型,它包含两个字段 Name
和 Age
。我们还创建了一个 Person
类型的变量 person
,并将其输出。由于我们没有对变量进行初始化,所以它的值为 { 0}
。接下来,我们修改了变量的值,并将其再次输出,发现它的值为 {Alice 18}
。
结构体声明和初始化
在 Go 语言中,结构体的声明和初始化可以使用多种方式。
声明结构体变量
声明结构体变量的语法如下:
var variableName StructName