go语言结构体指针 golang结构体指针的实现 go 结构体实现接口

go语言结构体指针 golang结构体指针的实现 go 结构体实现接口

目录

    1、由于结构体是值类型,在技巧传递时希望传递结构体地址,可以使用结构体指针完成,结合new(T)函数创建结构体指针

    peo := new(People)//由于结构体本质是值类型,因此创建结构体指针时已经开辟了内存空间fmt.Println(peo == nil) //输出:false//由于结构体中属性并不是指针类型,因此可以直接调用peo.Name = “jeff”fmt.Println(peo)//输出:&jeff 0}peo1:=peopeo1.Name=”高质量语言”fmt.Println(peo1,peo)//输出:&高质量语言 0} &高质量语言 0}

    2、如果不想使用new(T)函数,可以直接声明结构体指针并赋值

    //声明结构体指针var peo People//给结构体指针赋值peo = &People”jeff”, 18}/上面代码使用短变量方式如下peo:= &People”jeff”, 18} /fmt.Println(peo)

    3、结构体指针比较的是地址,结构体指针取出地址中对应的值

    p1 := People”jeff”, 18}p2 := People”jeff”, 18}fmt.Printf(“%p %pn”, &p1, &p2) //输出地址不同fmt.Println(p1 == p2) //输出:truep3 := new(People)p3 = &People”jeff”, 17}//结构体变量不能和指针比较,使用指针取出地址中值fmt.Println(p1 == p3) //输出:truep4 := &People”jeff”, 17}//指针比较的是地址fmt.Println(p3 == p4) //输出:false

    到此这篇关于golang结构体指针的实现的文章就介绍到这了,更多相关golang结构体指针内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    无论兄弟们可能感兴趣的文章:

    • Go结构体指针引发的值传递思索分析
    • 一文带你了解Go语言中的指针和结构体
    • go语言结构体指针操作示例详解
    • Go语言中结构体技巧副本传参与指针传参的区别介绍
    • Go语言指针访问结构体的技巧
    版权声明

    返回顶部