Golang 教程
Golang 控制语句
Golang 函数 & 方法
Golang 切片 & 数组
Golang 结构体
Golang 字符串
Golang 接口
Golang 指针
Golang 并发
Golang 异常(Error)
Golang 其他杂项

Go 语言结构体和指针

时间:2023年06月10日 阅读:188
以下内容仅是站长或网友个人学习笔记、总结和研究收藏。不保证正确性,因使用而带来的风险与本站无关!
淘客轩-衣食住行外卖生活好助手

您也可以使用指向struct的指针。Golang中的struct(结构体)是用户定义的类型,它允许将可能不同类型的项目分组/组合为单个类型。要使用指向结构的指针,可以使用运算符,即地址运算符。Golang允许程序员使用指针访问结构的字段,而无需显式地解引用。

示例1:在这里,我们创建了一个名为Employee的结构,它有两个变量。在main函数中,创建结构体的实例,即emp,然后,你可以将结构体的地址传递给表示结构体概念的指针。没有必要显式地使用解引用,因为它会给出与下面程序相同的结果(两次ABC)。

package main

import "fmt"

//定义结构体
type Employee struct {

    //设置字段
    name  string
    empid int
}

func main() {

    //创建的实例
    //员工结构体类型
    emp := Employee{"ABC", 19078}

    //在这里,它是指向结构体的指针
    pts := &emp

    fmt.Println(pts)

    //访问结构字段(员工的姓名)
    //使用指针,但是这里我们没有使用显式解引用
    fmt.Println(pts.name)

    //通过显式使用解引用
    //表示结果与上面相同
    fmt.Println((*pts).name)

}

输出:

&{ABC 19078}
ABC
ABC

示例2:您还可以使用指针,如下所示修改结构成员或结构字面量的值:

package main

import "fmt"

//定义结构体
type Employee struct {
    name  string
    empid int
}

func main() {

    //创建的实例
    //员工结构类型
    emp := Employee{"ABC", 19078}

    //在这里,它是指向结构体的指针
    pts := &emp

    //显示值
    fmt.Println(pts)

    //更新name的值
    pts.name = "XYZ"

    fmt.Println(pts)

}

输出:

&{ABC 19078}
&{XYZ 19078}
打赏

本文地址:https://www.momojc.cn/golang/golang-pointer-to-a-struct.html

上一篇:Go 数组和指针
下一篇:Go 语言指针比较

关于本站 | 隐私政策 | 免责声明 | 广告合作 | 我要投稿 | 后台管理

CopyRight © 2023-2024 MOMO教程 WWW.MOMOJC.CN , All Rights Reserved.

站长E-mail:378074730@qq.com 网站已运行:  运行时长:0.043 秒

京ICP备20029690号-1京ICP备20029690号-2 京公网安备11011402013892号京公网安备11011402013892号 中国互联网违法和不良信息举报中心 网络违法犯罪举报网站

本网站托管于 腾讯云 .由网站卫士提供网站加速和攻击防御服务 提供CDN加速/防御服务.由zblogcn强力驱动 又拍云提供CDN加速/云存储服务 51la网站统计