Golang 如何实例化结构体指针地址运算符
指针是一种特殊的变量,用于存储另一个变量的内存地址,而结构体是用户自定义的数据类型,由不同的类型组成。结构体主要是所有其他数据类型的携带者。通过使用结构体的指针,我们可以轻松地操作/访问分配给结构体的数据。要使用指向结构体的指针,我们使用“&”即地址运算符。在Go语言中,通过使用结构体的指针,我们可以访问结构体的字段,而不需要明确地取消引用它们。
举个例子: 在这里,我们定义了一个名为“shape”的结构体,我们正在将该结构体的字段值传递。此外,我们还在使用指针打印结构体的值。
// Go程序,展示如何实例化结构体指针地址运算符
package main
import "fmt"
type shape struct {
length int
breadth int
color string
}
func main() {
// 传递所有参数
var shape1 = &shape{10, 20, "Green"}
// 打印结构体正在持有的值
fmt.Println(shape1)
// 仅传递长度和颜色值
var shape2 = &shape{}
shape2.length = 10
shape2.color = "Red"
// 打印结构体正在持有的值
fmt.Println(shape2)
// 打印结构中存储的长度
fmt.Println(shape2.length)
// 打印结构体中存储的颜色
fmt.Println(shape2.color)
// 仅传递结构体的地址
var shape3 = &shape{}
// 通过指向变量的指针将值传递给变量的宽度字段
// 包含结构体地址
(*shape3).breadth = 10
// 通过指向变量的指针将值传递给变量的颜色字段
// 包含结构体地址
(*shape3).color = "Blue"
// 打印使用指针存储的结构体中的值
fmt.Println(shape3)
}
输出:
&{10 20 Green}
&{10 0 Red}
10
Red
&{0 10 Blue}
极客教程