golang中的指针
生活随笔
收集整理的這篇文章主要介紹了
golang中的指针
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
指針
go有指針和其他語言不同的是
- 默認值nil,沒有NULL常量
- 操作符"&"取變量地址, "*"通過指針訪問目標對象
- 不支持指針運算,不支持"->"運算符,直接用"."訪問目標對象成員
基本操作
func main() {var a int = 10var p *intp = &afmt.Printf("p = %v, &a = %v\n", p, &a)*p = 666fmt.Printf("*p = %v, a = %v\n", *p, a) }輸出
p = 0xc00001c0a0, &a = 0xc00001c0a0 *p = 666, a = 666new函數
表達式new(T)將創建一個T類型的匿名變量,所做的是為T類型的新值分配并清零一塊內存空間,然后將這塊內存空間的地址作為結果返回,而這個結果就是指向這個新的T類型值的指針值,返回的指針類型為*T
func main() {var p1 *intp1 = new(int)fmt.Println("*p1 = ", *p1) //0p2 := new(int)*p2 = 111fmt.Println("*p2 = ", *p2) //111 }復制
我們只需使用new()函數,無需關心內存的生命周期或怎樣將其刪除,因為GO語言的內存管理系統幫我們整理一切
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的golang中的指针的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: golang工作区
- 下一篇: golang中的切片