【Golang如何使用结构体指针(代码示例)】指针在Golang中是一个变量, 用于存储另一个变量的内存地址。 Golang中的指针也称为特殊变量。变量用于在系统中的特定内存地址存储一些数据。
你也可以使用指向结构。 Golang中的struct是用户定义的类型, 它允许将可能不同类型的项目分组/组合为单个类型。要使用指向结构的指针, 可以使用&
运算符, 即地址运算符。 Golang允许程序员使用指针访问结构的字段, 而无需显式地取消引用。
示例1:在这里, 我们正在创建一个名为Employee的结构, 它具有两个变量。在main函数中, 创建struct的实例, 即emp。之后, 你可以将结构的地址传递给表示结构概念指针的指针。无需显式使用解引用, 因为它将产生与在以下程序中看到的结果相同的结果(两次ABC)。
// Golang program to illustrate the
// concept of the Pointer to struct
package mainimport "fmt"// taking a structure
type Employee struct {// taking variables
namestring
empid int
}// Main Function
func main() {// creating the instance of the
// Employee struct type
emp := Employee{ "ABC" , 19078}// Here, it is the pointer to the struct
pts := &
empfmt.Println(pts)// accessing the struct fields(liem employee's name)
// using a pointer but here we are not using
// dereferencing explicitly
fmt.Println(pts.name)// same as above by explicitly using
// dereferencing concept
// means the result will be the same
fmt.Println((*pts).name)}
输出如下:
&
{ABC 19078}
ABC
ABC
示例2:你还可以使用指针修改结构成员或结构文字的值, 如下所示:
// Golang program to illustrate the
// concept of the Pointer to struct
package mainimport "fmt"// taking a structure
type Employee struct {// taking variables
namestring
empid int
}// Main Function
func main() {// creating the instance of the
// Employee struct type
emp := Employee{ "ABC" , 19078}// Here, it is the pointer to the struct
pts := &
emp// displaying the values
fmt.Println(pts)// updating the value of name
pts.name = "XYZ"fmt.Println(pts)}
输出如下:
&
{ABC 19078}
&
{XYZ 19078}
推荐阅读
- 如何从Python中的列表中删除多个元素(完整实现)
- JavaScript如何使用导入和导出模块(代码示例)
- 代码转换器– BCD(8421)到/从Excess-3
- Win8.1系统还原后提示Windows无法激活的处理方案
- Win8.1下载软件一直提示缺少“ATL100.DLL”文件如何处理?
- 如何查看Win8.1系统的正版授权?
- Win8.1切换窗口后输入法自动变回英文怎样办?
- Win8.1应用商店无法下载报错0x80070426的应对措施
- Windows8.1应用商店无法运用报错0x80080005怎样处理?