亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

golang結(jié)構(gòu)體指針的實(shí)現(xiàn)

 更新時(shí)間:2025年06月23日 10:30:45   作者:longzhoufeng  
這篇文章主要介紹了golang結(jié)構(gòu)體指針的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1、由于結(jié)構(gòu)體是值類(lèi)型,在方法傳遞時(shí)希望傳遞結(jié)構(gòu)體地址,可以使用結(jié)構(gòu)體指針完成,結(jié)合new(T)函數(shù)創(chuàng)建結(jié)構(gòu)體指針

peo := new(People)
//因?yàn)榻Y(jié)構(gòu)體本質(zhì)是值類(lèi)型,所以創(chuàng)建結(jié)構(gòu)體指針時(shí)已經(jīng)開(kāi)辟了內(nèi)存空間
fmt.Println(peo == nil) //輸出:false
//由于結(jié)構(gòu)體中屬性并不是指針類(lèi)型,所以可以直接調(diào)用
peo.Name = "jeff"
fmt.Println(peo)//輸出:&{jeff 0}
peo1:=peo
peo1.Name="高級(jí)語(yǔ)言"
fmt.Println(peo1,peo)//輸出:&{高級(jí)語(yǔ)言 0} &{高級(jí)語(yǔ)言 0}

2、如果不想使用new(T)函數(shù),可以直接聲明結(jié)構(gòu)體指針并賦值

//聲明結(jié)構(gòu)體指針
var peo *People
//給結(jié)構(gòu)體指針賦值
peo = &People{"jeff", 18}
/*
上面代碼使用短變量方式如下
peo:= &People{"jeff", 18}
 */
fmt.Println(peo)

3、結(jié)構(gòu)體指針比較的是地址,*結(jié)構(gòu)體指針取出地址中對(duì)應(yīng)的值

p1 := People{"jeff", 18}
p2 := People{"jeff", 18}
fmt.Printf("%p %p\n", &p1, &p2) //輸出地址不同
fmt.Println(p1 == p2)           //輸出:true

p3 := new(People)
p3 = &People{"jeff", 17}
//結(jié)構(gòu)體變量不能和指針比較,使用*指針取出地址中值
fmt.Println(p1 == *p3) //輸出:true

p4 := &People{"jeff", 17}
//指針比較的是地址
fmt.Println(p3 == p4) //輸出:false

到此這篇關(guān)于golang結(jié)構(gòu)體指針的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)golang結(jié)構(gòu)體指針內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • GoLang完整實(shí)現(xiàn)快速列表

    GoLang完整實(shí)現(xiàn)快速列表

    這篇文章主要介紹了GoLang完整實(shí)現(xiàn)快速列表,列表是一種非連續(xù)的存儲(chǔ)容器,由多個(gè)節(jié)點(diǎn)組成,節(jié)點(diǎn)通過(guò)一些 變量 記錄彼此之間的關(guān)系,列表有多種實(shí)現(xiàn)方法,如單鏈表、雙鏈表等
    2022-12-12
  • go 代碼格式化和風(fēng)格開(kāi)發(fā)者指南

    go 代碼格式化和風(fēng)格開(kāi)發(fā)者指南

    這篇文章主要為大家介紹了go 代碼格式化和風(fēng)格開(kāi)發(fā)者指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Go語(yǔ)言實(shí)現(xiàn)自動(dòng)填寫(xiě)古詩(shī)詞實(shí)例代碼

    Go語(yǔ)言實(shí)現(xiàn)自動(dòng)填寫(xiě)古詩(shī)詞實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于Go語(yǔ)言實(shí)現(xiàn)自動(dòng)填寫(xiě)古詩(shī)詞的相關(guān)資料,這是最近在項(xiàng)目中遇到的一個(gè)需求,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • Go使用Weighted實(shí)現(xiàn)資源管理

    Go使用Weighted實(shí)現(xiàn)資源管理

    這篇文章主要介紹了Go?語(yǔ)言中的?Weighted?并發(fā)原語(yǔ),包括?Weighted?的基本使用方法、實(shí)現(xiàn)原理、使用注意事項(xiàng)等內(nèi)容,感興趣的小伙伴可以了解一下
    2023-06-06
  • Go語(yǔ)言使用MySql的方法

    Go語(yǔ)言使用MySql的方法

    這篇文章主要介紹了Go語(yǔ)言使用MySql的方法,實(shí)例分析了Go語(yǔ)言操作MySQL的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • go?閉包c(diǎn)ase示例代碼

    go?閉包c(diǎn)ase示例代碼

    這篇文章解釋了Go語(yǔ)言中匿名函數(shù)、閉包、立即執(zhí)行函數(shù)表達(dá)式(IIFE)和變量作用域的概念,它通過(guò)一個(gè)示例代碼展示了匿名函數(shù)如何捕獲并修改外部變量,以及如何使用立即執(zhí)行函數(shù)表達(dá)式來(lái)立即執(zhí)行這個(gè)匿名函數(shù),感興趣的朋友一起看看吧
    2025-02-02
  • Go程序的init函數(shù)在什么時(shí)候執(zhí)行

    Go程序的init函數(shù)在什么時(shí)候執(zhí)行

    在Go語(yǔ)言中,init?函數(shù)是一個(gè)特殊的函數(shù),它用于執(zhí)行程序的初始化任務(wù),本文主要介紹了Go程序的init函數(shù)在什么時(shí)候執(zhí)行,感興趣的可以了解一下
    2023-10-10
  • go中switch語(yǔ)句的用法詳解

    go中switch語(yǔ)句的用法詳解

    在Go中的switch語(yǔ)句類(lèi)似于C、C++、Java、JavaScript和PHP中的switch語(yǔ)句,不同之處在于它只執(zhí)行匹配的case,因此不需要使用break語(yǔ)句,下面我們就一起來(lái)學(xué)習(xí)一下switch語(yǔ)句的具體使用吧
    2023-09-09
  • golang切片原理詳細(xì)解析

    golang切片原理詳細(xì)解析

    這篇文章主要介紹了golang切片原理詳細(xì)解析,切片在編譯時(shí)定義為Slice結(jié)構(gòu)體,并通過(guò)NewSlice()函數(shù)進(jìn)行創(chuàng)建,更多相關(guān)內(nèi)容感興趣的小伙伴可以參考一下下面文章內(nèi)容
    2022-06-06
  • Golang IPv4 字符串與整數(shù)互轉(zhuǎn)方式

    Golang IPv4 字符串與整數(shù)互轉(zhuǎn)方式

    這篇文章主要介紹了Golang IPv4 字符串與整數(shù)互轉(zhuǎn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11

最新評(píng)論