第 08 章:Pointers(指針)

1. 章節(jié)簡介

  • 指針可以讓函數(shù)修改外部變量。
  • 區(qū)分 值傳遞指針傳遞。

2. 知識點(diǎn)講解

  • 值傳遞
func f(x int) {
    x = 100
}

外部變量不會被修改。

  • 指針傳遞
func f(p *int) {
    *p = 100
}

外部變量的值會被修改。


3. 代碼示例

package main

import "fmt"

func main() {
    a := 10
    fmt.Println("原始 a:", a)

    // 值傳遞
    changeValue(a)
    fmt.Println("值傳遞后 a:", a) // a 未變化

    // 指針傳遞
    changePointer(&a)
    fmt.Println("指針傳遞后 a:", a) // a 變?yōu)?100
}

func changeValue(x int) {
    x = 100
}

func changePointer(p *int) {
    *p = 100
}

4. 練習(xí)任務(wù)

  1. 聲明一個整數(shù)變量 score,寫函數(shù)修改它的值。
  2. 先用值傳遞,再用指針傳遞,觀察結(jié)果差異。

5. 小結(jié)

  • 指針允許直接操作內(nèi)存,修改外部變量。
  • & 取地址,* 解引用。
  • 理解值傳遞 vs 指針傳遞是 Go 編程基礎(chǔ)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容