Go语言结构体赋值

Go语言结构体赋值教程

Go 语言结构体 的赋值可以使用结构体类型对该结构体 变量 整体赋值,也可以使用结构体变量加上 “.” 再使用结构体字段名对结构体单个字段赋值。

结构体整体列表赋值

语法

var structVar StructType structVar = StructType{ Field1Value, Field2Value, Field3Value, ... }

说明

首先,我们定义一个结构体 StructType 类型 的变量 structVar,接着我们对该结构体变量 structVar 使用列表的方式赋值。

结构体键值赋值

语法

var structVar StructType structVar = StructType{ Field1:Field1Value, Field2:Field2Value, Field3:Field3Value, ... }

说明

首先,我们定义一个结构体 StructType 类型的变量 structVar,接着我们对该结构体变量 structVar 使用键值对的方式赋值。

结构体字段单独赋值

语法

var structVar StructType structVar.Field1 = Field1Value structVar.Field2 = Field2Value structVar.Field3 = Field3Value

说明

首先,我们定义一个结构体 StructType 类型的变量 structVar,接着我们对该结构体变量 structVar 的每一个字段进行分别赋值。

案例

结构体整体列表赋值

定义一个结构体,并使用结构体整体列表赋值给结构体赋值

package main import ( "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") type Person struct { Name string Age int } //定义一个结构体,并使用结构体整体列表赋值给结构体赋值 var p Person p = Person{ "HaiCoder", 110, } fmt.Println("Person =", p) }

程序运行后,控制台输出如下:

18_golang结构体赋值.png

首先,我们定义了一个结构体 Person,该结构体有两个字段,一个 string 类型的 Name,一个 int 类型的 Age, 接着我们定义了一个 Person 结构体类型的变量 p。

接着,使用结构体变量整体赋值的方式,对结构体变量 p 进行整体赋值,赋值的方式使用列表的方式。最后使用 print 打印赋值后的结构体变量。

结构体键值赋值

定义一个结构体,并使用结构体键值赋值给结构体赋值

package main import ( "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") type Person struct { Name string Age int } //定义一个结构体,并使用结构体键值赋值给结构体赋值 var p Person p = Person{ Name:"HaiCoder", Age:110, } fmt.Println("Person =", p) }

程序运行后,控制台输出如下:

19_golang结构体赋值.png

首先,我们定义了一个结构体 Person,该结构体有两个字段,接着,使用结构体变量整体赋值的方式,对结构体变量 p 进行整体赋值,赋值的方式是显示指定结构体键值的方式,最后使用 print 打印赋值后的结构体变量。

结构体字段单独赋值

定义一个结构体,并使用结构体字段单独赋值给结构体赋值

package main import ( "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") type Person struct { Name string Age int } //定义一个结构体,并使用结构体字段单独赋值给结构体赋值 var p Person p.Name = "HaiCoder" p.Age = 10 fmt.Println("Person =", p) }

程序运行后,控制台输出如下:

20_golang结构体赋值.png

首先,我们定义了一个结构体 Person,该结构体有两个字段,接着,我们使用结构体变量加上 “.” 的形式,访问结构体的成员,并给结构体成员的每一个成员单独进行赋值。

Go语言结构体赋值总结

Go 语言中结构体的赋值可以使用结构体类型对该结构体变量整体赋值,也可以使用结构体变量加上 “.” 再使用结构体字段名对结构体单个字段赋值。