zoukankan      html  css  js  c++  java
  • GO学习之 指针

    基本介绍:
    1)基本数据类型,变量存的就是值,也叫值类型

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

    3)指针类型,变量存的是一个地址,这个地址指向的空间存的才是值

    比如:var prt *int = &num

    这时候ptr是一个指针

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

    例子:

    package main
    
    import "fmt"
    
    // 演示golang中指针类型
    func main() {
        // 基本数据类型在内存布局
        var i int = 10
        // i 的地址是什么,&i
        fmt.Println("i的地址=", &i)
    
        // 下面var ptr *int = &i
        // 1.ptr 是一个指针变量
        // 2.ptr的类型*int
        // 3.ptr 本身的值&i
        var ptr *int = &i
        fmt.Printf("ptr=%v
    ", ptr)
        fmt.Println("ptr的地址=", &ptr)
        fmt.Printf("ptr 指向的值=%v
    ", *ptr) // 也就是输出i 的值
    }

    1

    (1)写一个程序,获取一个int变量num的地址,并显示到终端

    (2)num的地址赋给指针ptr,并通过ptr去修改num的值

    package main
    
    import "fmt"
    
    func main() {
        // (1)写一个程序,获取一个int变量num的地址,并显示到终端
        // (2)将num的地址赋给指针ptr,并通过ptr去修改num的值
        var num int = 9
        fmt.Printf("num address=%v
    ", &num)
    
        var ptr *int 
        ptr = &num
        *ptr = 10 //这里修改时,会到num的值变化,指针地址对应相应的值
        fmt.Println("num =" , num)
    }
    

    指针地址加*就是相应的值。

    2

    package main
    import "fmt"
    
    func main(){
        //
        var a int = 300
        var b int = 400
        var ptr *int = &a // ptr指针变量为a的地址
        *ptr = 100 // a = 100
        ptr = &b  // ptr赋值为b的地址
        *ptr = 200
        fmt.Printf("a=%d,b=%d,*ptr=%d",a,b,*ptr)
        // a = 100 b = 100  *ptr = 200
    }
    

    指针的注意事项:

    1.值类型,都有对应的指针类型,形式为 * 数据类型,比如int的对应的指针就是 *int ,float32对应的指针类型就是 *float32,依次类推。

    2.值类型包括:基本数据类型int系列,float系列,boolstring,数组和结构体struct

  • 相关阅读:
    sourceTree push提交代码
    sourcetree 创建分支
    sourcetree 删除分支
    php 根据经纬度计算距离
    git linux服务器拉取代码sh脚本,批量拉取git代码
    百度地图-省市县联动加载地图 分类: Demo JavaScript 2015-04-26 13:08 531人阅读 评论(0) 收藏
    2020企业数字化转型的思考
    数据治理与企业数字化转型
    亚信科技入围中国大数据领域三大重磅榜单
    大数据智能分析的“六个特征”和“六个能力”
  • 原文地址:https://www.cnblogs.com/hszstudypy/p/12500744.html
Copyright © 2011-2022 走看看