Go 语言 中 结构体 的 匿名字段 的赋值可以使用 “.” 访问整个匿名字段,并对其赋值的方式,也可以使用 “.” 的方式分别访问匿名字段中的每一个子字段直接赋值。
var structVar StructType
structVar.Field1 = StructType1{
Value1,
Value2,
...
}
structVar.Field2 = value1
...
首先,我们定义一个结构体 StructType 类型 的 变量 structVar,接着我们对该结构体变量 structVar 的字段 Field1 进行整体的结构体赋值。
同时,对结构体变量里面的非结构体成员也采用单独赋值的方式进行赋值。
var structVar StructType
structVar = StructType{
StructType1{
Value1,
Value2,
...
}
value1
...
}
首先,我们定义一个结构体 StructType 类型的变量 structVar,接着我们对该结构体变量 structVar 使用字段列表的形式进行赋值。
var structVar StructType
structVar.StructField1 = value1
structVar.StructField2 = value2
structVar.Field3 = value3
...
首先,我们定义一个结构体 StructType 类型的变量 structVar,接着我们对该结构体变量 structVar 的字段匿名字段类型里面的 StructField1 字段和 StructField2 字段进行赋值。
定义一个结构体,并使用结构体匿名字段整体键值赋值给结构体匿名字段赋值
package main
import (
"fmt"
)
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
type Person struct {
Name string
Age int
}
type Student struct {
Person
Score float64
}
//结构体匿名字段整体键值赋值
var stu Student
stu.Person = Person{
"HaiCoder",
10,
}
stu.Score = 100
fmt.Println("Student =", stu)
}
程序运行后,控制台输出如下:
首先,我们定义了一个结构体 Person,该结构体有两个字段,接着再次定义了一个结构体 Student,该结构体有两个字段。
Student 结构体第一个字段类型为 Person,也是一个结构体类型,同时,是一个匿名字段,Student 结构体的第二个字段是一个 float64 类型的字段。
接着,我们定义了一个 Student 类型的结构体变量 stu,并且对其匿名字段 Person 进行赋值和对其具名字段 Score 进行赋值,最后使用 print 打印赋值完的结构。
定义一个结构体,并使用结构体匿名字段整体列表赋值给结构体匿名字段赋值
package main
import (
"fmt"
)
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
type Person struct {
Name string
Age int
}
type Student struct {
Person
Score float64
}
//定义一个结构体,并使用结构体匿名字段整体列表赋值给结构体匿名字段赋值
var stu Student
stu = Student{
Person{
"HaiCoder",
10,
},
100.0,
}
fmt.Println("Student =", stu)
}
程序运行后,控制台输出如下:
首先,我们定义了一个结构体 Person,该结构体有两个字段,接着再次定义了一个结构体 Student,该结构体有两个字段。
接着,我们使用结构体匿名字段整体列表赋值给结构体匿名字段赋值,同时给结构体的具名字段赋值。
定义一个结构体,并直接访问匿名字段里面的成员,直接赋值
package main
import (
"fmt"
)
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
type Person struct {
Name string
Age int
}
type Student struct {
Person
Score float64
}
//定义一个结构体,并直接访问匿名字段里面的成员,直接赋值
var stu Student
stu.Name = "HaiCoder"
stu.Age = 18
stu.Score = 99
fmt.Println("Student =", stu)
}
程序运行后,控制台输出如下:
首先,我们定义了一个结构体 Person,该结构体有两个字段,接着再次定义了一个结构体 Student,该结构体有两个字段。
接着,我们可以直接访问结构体匿名字段中的字段,并给其赋值。
Go 语言中结构体的匿名字段的赋值可以使用 “.” 访问整个匿名字段,并对其赋值的方式,也可以使用 “.” 的方式分别访问匿名字段中的每一个子字段直接赋值。