美文网首页
Golang——指针pointer

Golang——指针pointer

作者: Cici冬雪 | 来源:发表于2020-05-23 12:23 被阅读0次

地址:内存地址,用字节描述
指针:指向内存地址,带类型。不可操作,只读。string类型指针和int类型指针是不一样的类型。

&:取地址
*:取值

func main() {
    var a = 100
    b := &a
    fmt.Println(a)
    fmt.Printf("%T\n", b)
    fmt.Println(b)
    fmt.Println(*b)
} 
输出
100
*int
0xc0000140b0
100

new和make


func main() {
    //new用来初始化值类型的指针
    //得到一个int类型指针
    var a = new(int)
    fmt.Println(*a)  //0

    var b = new([3]int)
    (*b)[0] = 1
    b[1] = 2
    fmt.Println(*b)  //[1 2 0]

    //make用来初始化引用类型(slice、map、chan)指针的
    var c = make([]int, 5)
    fmt.Println(c)  //[0 0 0 0 0]
} 

修改数组的值

func main() {
    a := [...]int{1, 2, 3}
    fmt.Println(a)  //[1 2 3]

    modify1(a)
    fmt.Println(a)  //[1 2 3]

    modify2(&a)
    fmt.Println(a)  //[100 2 3]s
} 

func modify1(a [3]int){
    a[0] = 100
}

func modify2(a *[3]int){
    (*a)[0] = 100
    //语法糖写法
    // a[0] = 100
}

相关文章

  • Golang——指针pointer

    地址:内存地址,用字节描述指针:指向内存地址,带类型。不可操作,只读。string类型指针和int类型指针是不一样...

  • 10 重忆C之 指针、内存、位运算

    指针(复习) 指针(pointer) 或 指针变量(pointer variable)。是“储存地址的变量”。它存...

  • Android基础--智能指针

    智能指针分为3类为轻量级指针(Light Pointer)、强指针(Strong Pointer)和弱指针(Wea...

  • Golang pointer

    Golang pointer 指针,保存了变量的内存地址,可以让不同的变量共享同一片内存在使用 goroute 去...

  • go调用c全面解析

    一、go的指针 pointer type、 uintptr和unsafe.Pointer pointer type...

  • Go 语言指针 图文教程

    https://www.quanxiaoha.com/golang/golang-pointer.html[htt...

  • Swift指针

    指针分类: raw pointer:未指定数据类型的指针(原生指针) typed pointer:指定数据类型的指...

  • iOS NONPOINTER_ISA(非指针类型)

    isa分为POINTER_ISA(指针类型)和NONPOINTER_ISA(非指针类型) POINTER_ISA指...

  • 004-Swift进阶-指针-metadata结构

    一、介绍 Swift中的指针分为两类, typed pointer 指定数据类型指针, raw pointer 未...

  • VRTK插件更新后解析

    VRTK_Pointer Pointer Renderer:(指针渲染器) 当指针被激活使用他的具体呈现。渲染器还...

网友评论

      本文标题:Golang——指针pointer

      本文链接:https://www.haomeiwen.com/subject/qhykahtx.html