Go语言结构体实例化教程
中 定义完之后,并不能直接使用,因此此时还没有分配内存,因此,我们必须在定义完结构体,并实例话之后才可以使用结构体。
Golang 中结构体的实例化主要有三种方式,分别为:使用 定义的方式、使用 new 分配内存和使用 & 符号定义结构体。
变量定义方式
语法
var varName StructName
参数
参数 | 描述 |
---|---|
var | 定义结构体变量使用的关键字。 |
varName | 结构体变量名。 |
StructName | 结构体类型名。 |
说明
使用 var 关键字定义一个名为 StructName 的结构体变量 varName,后续我们就可以直接使用该变量。
new分配内存方式
语法
var varName = new(StructName)
说明
使用 new 关键字为变量 varName 分配内存。
&符号定义结构体
语法
var varName = &StructName{}
说明
使用 & 定义一个名为 varName 的结构体,使用 & 符号定义时,结构体名后面必须要加 {}。
案例
使用变量定义的方式
使用变量定义的方式,实例化一个名为 Student 的结构体
package main import ( "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用变量定义的方式,实例化一个名为 Student 的结构体 type Student struct { Name string Age int Score float64 } var stu Student stu.Name = "kongzi" stu.Age = 1998 stu.Score = 100.0 fmt.Println("Student =", stu) }
程序运行后,控制台输出如下:
我们定义了一个结构体 Student,该结构体实例化有三个字段,一个是 类型的 Name,一个是 类型的 Age,还有一个 类型的 Score。
接着我们使用 var 实例化了一个 Student 结构体实例化类型的变量 stu,并给结构体变量 stu 的三个字段赋值,最后使用 打印结构体变量。
使用new分配内存的方式
使用 new 分配内存的方式,实例化一个名为 Student 的结构体
package main import ( "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用new分配内存的方式,实例化一个名为 Student 的结构体 type Student struct { Name string Age int Score float64 } var stu = new(Student) stu.Name = "kongzi" stu.Age = 1998 stu.Score = 100.0 fmt.Println("Student =", stu) }
程序运行后,控制台输出如下:
我们定义了一个结构体 Student,接着,使用 new 分配内存的方式定义了一个结构体类型的变量 stu,并为该变量赋值,打印该变量。
使用&符号定义结构体
使用 & 符实例化结构体 Student
package main import ( "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用 & 符实例化结构体 Student type Student struct { Name string Age int Score float64 } var stu = &Student{} stu.Name = "kongzi" stu.Age = 1998 stu.Score = 100.0 fmt.Println("Student =", stu) }
程序运行后,控制台输出如下:
我们定义了一个结构体 Student,接着,使用 & 符号初始化了一个结构体类型的变量 stu,并为该变量赋值,打印该变量。
Golang结构体实例化使用总结
Golang 中结构体的实例化主要有三种方式,分别为:使用变量定义的方式、使用 new 分配内存和使用 & 符号定义结构体。使用变量定义的方式:
var varName StructName
使用 new 分配内存的方式:
var varName = new(StructName)
使用 & 符号定义结构体:
var varName = &StructName{}