Go 语言 中 结构体 支持匿名结构体,匿名结构体没有 类型 名称,无须通过 type 关键字定义就可以直接使用。
s := struct {
// 匿名结构体字段定义
Field1 Field1Type
Field2 Field2Type
…
}{
// 字段值初始化
Field1: Value1,
Field2: Value2,
…
}
定义一个匿名结构体,该结构体有两个字段,字段名分别为 Field1 和 Field2,字段类型为 Field1Type 和 Field2Type。
接着,我们直接初始化字段,将 Filed1 字段的值设置为 Value1,将 Field2 的字段的值设置为 Value2。
定义一个匿名结构体,并初始化
package main
import (
"fmt"
)
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
//定义一个匿名结构体,并初始化
stu := struct{
Name string
Age int
Score float64
}{
"HaiCoder",
18,
99.5,
}
fmt.Println("Student =", stu)
}
程序运行后,控制台输出如下:
我们定义了一个匿名结构体 struct,该结构体初始化有三个字段,一个是 Name,一个是 Age,还有一个 Score,接着,我们为该结构体的初始化赋值。
Go 语言中结构体支持匿名结构体,匿名结构体没有类型名称,无须通过 type 关键字定义就可以直接使用。匿名结构体定义初始化语法:
s := struct {
// 匿名结构体字段定义
Field1 Field1Type
Field2 Field2Type
…
}{
// 字段值初始化
Field1: Value1,
Field2: Value2,
…
}