📌  相关文章
📜  inizialiyze struct di struct golang - Go 编程语言 - Go 编程语言(1)

📅  最后修改于: 2023-12-03 14:42:06.943000             🧑  作者: Mango

在Go语言中初始化结构体(Initialize struct in Go)

在Go语言中很常见的操作就是定义和初始化结构体。结构体是用户自定义类型,可以包含多个不同类型的字段,是一种非常灵活的数据结构。

定义结构体

在Go语言中,定义结构体的基本语法如下:

type StructName struct {
    Field1 FieldType1
    Field2 FieldType2
    ...
}

其中,StructName是结构体的名称,FieldN是结构体中的字段名,FieldTypeN是字段的类型。

例如,我们要定义一个人的结构体,可以这样写:

type Person struct {
    Name string
    Age  int
    Sex  string
}

上面的代码定义了一个Person结构体,拥有三个字段Name、Age和Sex。字段类型分别为string、int和string。

初始化结构体

在Go语言中,初始化结构体有多种方式。下面介绍其中几种比较常用的方式。

直接初始化

使用直接初始化的方式,可以按照结构体中字段列表的顺序,为字段依次指定值。

var p = Person{"张三", 18, "男"}

上面的代码创建了一个Person结构体,字段的值分别为"张三"、18和"男"。

命名初始化

使用命名初始化的方式,可以按照结构体中字段名的顺序,为字段指定值。

var p = Person{
    Name: "张三",
    Age:  18,
    Sex:  "男",
}

上面的代码创建了一个Person结构体,字段的值分别为"张三"、18和"男"。

指针初始化

在Go语言中,结构体变量可以是值类型,也可以是指针类型。使用指针初始化的方式,可以创建一个结构体指针。

var p = &Person{
    Name: "张三",
    Age:  18,
    Sex:  "男",
}

上面的代码创建了一个Person结构体指针,字段的值分别为"张三"、18和"男"。

结论

使用上面介绍的三种方式,可以很方便地初始化一个结构体或结构体指针。

如果你想了解更多Go语言的知识点,请访问官方文档

代码示例
type Person struct {
	Name string
	Age int
	Sex string
}

func main() {
	// 直接初始化
	var p1 = Person{"张三", 18, "男"}
	
	// 命名初始化
	var p2 = Person{
		Name: "李四",
		Age:  20,
		Sex:  "女",
	}
	
	// 指针初始化
	var p3 = &Person{
		Name: "王五",
		Age:  22,
		Sex:  "男",
	}
	
	fmt.Println(p1) // {张三 18 男}
	fmt.Println(p2) // {李四 20 女}
	fmt.Println(p3) // &{王五 22 男}
}