zoukankan      html  css  js  c++  java
  • golang-指针

    package main
    
    import "fmt"
    
    func main() {
        var a int =10
    
        var p *int =&a //定义指针变量p,传递a的地址
        //指针:指针就是地址,指针变量就是存储地址的变量。
        a=100
        fmt.Println("a=",a)
        *p =200 //借助a变量的地址,操作a对应空间
        fmt.Println("a=",a)
        fmt.Println("*p=",*p)
    
        fmt.Println("&a=",&a)//&获取地址 0xc42001a0c0
        fmt.Println("a=",a) //200
        fmt.Println("p=",p) //0xc42001a0c0
        fmt.Println("*p=",*p) //200 加×就是获取值,解引用、间接引用
    
    }
    package main
    
    import (
        "fmt"
    )
    
    func test(m int)  {
        var b int = 1000
        b += m
    }
    
    /*func main()  {
        var a int = 10
        var p *int = &a
    
        a = 100
        fmt.Println("a = ", a)
    
        test(10)
    
        *p = 250  // 借助a 变量的地址,操作a对应空间
        fmt.Println("a = ", a)
        fmt.Println("*p = ", *p)
    
        a = 1000
        fmt.Println("*p = ", *p)
    }*/
    
    /*func test()  {
        p := new(int)            // 默认类型的 默认值
        *p = 1000
    }
    
    func main()  {
        var a int = 10
        fmt.Println("&a", &a)
    
        var p *int
    
        // 在 heap 上申请一片内存地址空间
    
        fmt.Printf("%d
    ", *p)
        fmt.Printf("%v
    ", *p)        // 打印Go语言格式的字符串。
    
    }*/
    
    func swap(a, b int)  {
        a, b = b, a
        fmt.Println("swap  a:", a, "b:", b)
    }
    
    func swap2(x, y *int)  {
        *x, *y = *y, *x
    }
    
    func main()  {
        a, b := 10, 20
    
        swap2(&a, &b)            // 传地址值。
        fmt.Println("swap2: main  a:", a, "b:", b)
    
    }
  • 相关阅读:
    Centos7.2安装MariaDB数据库,并进行基础配置
    Web安全之环境搭建
    PHP构建一句话木马
    Spark2.1.0安装
    Spark2.1.0编译
    cdh-5.10.0搭建安装
    八、频繁模式挖掘Frequent Pattern Mining
    七、特征提取和转换
    六、降维
    五、聚类
  • 原文地址:https://www.cnblogs.com/landv/p/10942823.html
Copyright © 2011-2022 走看看