Go語言中的指標

2021-10-10 04:35:23 字數 467 閱讀 4069

go語言中的指標相對簡單,所謂的簡單是因為go語言的指標並不能進行運算,比如說c語言中,獲取乙個指標之後可以進行加法計算。go語言中指標可以指向a,也可以指向b但是並不能像c語言一樣,通過加1來指向另乙個變數。

go語言只有值傳遞一種方式

也就是引數在傳遞時,是以拷貝的形式傳遞的,修改傳遞的引數並不影響原來的引數。所以在需要修改原本的值的時候就需要通過指標實現引用傳遞

舉個例子,在go語言中交換兩個引數的值:

func swap(a, b *int) 

func main()

當然這只是舉例子,如果真要交換兩個變數的值的話,下面這種方式會更簡單:

func swap(a, b int) (int, int)
總結就是一句話!如果需要改變原來變數的值,那麼需要傳遞指標!

Go語言中的指標

區別於c c 中的指標,go語言中的指標不能進行偏移和運算,是安全指標。任何程式資料載入記憶體後,在記憶體都有他們的位址,這就是指標。而為了儲存乙個資料在記憶體中的位址,我們就需要指標變數。比如,永遠不要高估自己 這句話是我的座右銘,我想把它寫入程式中,程式一啟動這句話是要載入到記憶體 假設記憶體位...

go語言中的指標

go語言中函式的傳參都是通過值傳遞,如果要在改變某個變數,可以通過指向該變數的指標傳遞。變數的指標位址 通過指標取變數的值 值傳遞var name 擼鐵怪 func this name string this name fmt.println name 擼鐵怪指標位址傳遞 var name 張全蛋 ...

go 指標陣列 go語言中的指標陣列

宣告乙個包含有5個整數指標型別的陣列,我們可以在初始化時給相應位置的元素預設值。下面是給索引為0的元素乙個新建的的int型別指標 預設為0 給索引為1的元素指向值v的位址,剩下的沒有指定預設值的元素為指標的zero值也就是nil package main import fmt func main f...