成功最有效的方法就是向有经验的人学习!

数据类型之指针

关于指针

要搞明白 Go 语言中的指针需要先知道 3 个概念: 指针地址、指针类型、指针取值

  • 指针地址(&a
  • 指针取值(*&a
  • 指针类型(&a) —> *int 改变数据传指针
  • 变量的本质是给存储数据的内存地址起了一个好记的别名。
  • 比如我们定义了一个变量 a := 10 ,这个时候可以直接通过 a 这个变量来读取内存中保存的 10 这个值。
  • 在计算机底层 a 这个变量其实对应了一个内存地址。
  • 指针也是一个变量,但它是一种特殊的变量,它存储的数据不是一个普通的值,而是另一个变量的内存地址。
  • Go 语言中的指针操作非常简单,我们只需要记住两个符号:&(取地址)和 *(根据地址取值)
package main

import "fmt"

func main() {
    var a = 10
    fmt.Printf("%d \n", &a)  // &a 指针地址 (824633761976)
    fmt.Printf("%d \n", *&a) // *&a 指针取值 (10)
    fmt.Printf("%T \n", &a)  // %T 指针类型 (*int )
}

&取变量地址

&符号取地址操作

package main

import "fmt"

func main() {
    var a = 10
    var b = &a
    var c = *&a
    fmt.Println(a) // 10 a的值
    fmt.Println(b) // 0xc00001e060 a变量的内存地址
    fmt.Println(c) // 10 *内存地址 取值
}

b := &a 的图示

1 2
赞(1) 打赏
未经允许不得转载:陈桂林博客 » 数据类型之指针
分享到

大佬们的评论 抢沙发

全新“一站式”建站,高质量、高售后的一条龙服务

微信 抖音 支付宝 百度 头条 快手全平台打通信息流

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册