Go开发之路 -- 指针类型

1. 普通类型,变量存的就是值,也叫值类型

2. 获取变量的地址,用&,比如: var a int, 获取a的地址:&a


3. 指针类型,变量存的是一个地址,这个地址存的才是值


4. 获取指针类型所指向的值,使用:*,比如:var *p int, 使用*p获取p指向的值

// 写一个程序, 获取一个变量的地址,并打印到终端

package main

import "fmt"

func main(){
    var s int = 10
    fmt.Println(&s)
}
练习 8
// 写一个函数, 传入一个int类型的指针, 并在函数中修改所指向的值.
// 在main函数中调用这个函数, 并把修改前后的值打印到终端, 观察结果.

package main

import "fmt"

func text(p *int){
    fmt.Println(p)    // 打印的是地址
    *p = 999
}

func main(){
    var a int = 10
    var p *int
    p = &a
    fmt.Println(*p)
    *p = 100
    fmt.Println(a)

    text(&a)

    fmt.Println(a)    // a 变成了 999

}
练习 9
原文地址:https://www.cnblogs.com/lpgit/p/10632808.html