首页 > 其他分享 >Go 语言指针

Go 语言指针

时间:2023-02-10 15:34:51浏览次数:37  
标签:语言 ip fmt 地址 Go 指针 变量

Go 语言指针

Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务。

接下来让我们来一步步学习 Go 语言指针。

我们都知道,变量是一种使用方便的占位符,用于引用计算机内存地址。

Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址。

 例如:

package main
import "fmt"
func main() {
   var a int = 10  
   fmt.Printf("变量的地址: %x\n", &a  )
}

以上代码结构输出为:

变量的地址: c00000e098

 

什么是指针

一个指针变量指向了一个值的内存地址。

* 号用于指定变量是作为一个指针。以下是有效的指针声明:

var ip *int        /* 指向整型*/
var fp *float32    /* 指向浮点型 */

本例中这是一个指向 int 和 float32 的指针。

如何使用指针

指针使用流程:

  • 定义指针变量。
  • 为指针变量赋值。
  • 访问指针变量中指向地址的值。

在指针类型前面加上 * 号(前缀)来获取指针所指向的内容。

package main
import "fmt"
func main() {
   var a int= 20   /* 声明实际变量 */
   var ip *int        /* 声明指针变量 */
   ip = &a  /* 指针变量的存储地址 */
   fmt.Printf("a 变量的地址是: %x\n", &a  )
   /* 指针变量的存储地址 */
   fmt.Printf("ip 变量储存的指针地址: %x\n", ip )
   /* 使用指针访问值 */
   fmt.Printf("*ip 变量的值: %d\n", *ip )
}

以上执行输出结果为:

a 变量的地址是: c00000e098
ip 变量储存的指针地址: c00000e098
*ip 变量的值: 20

Go 空指针

当一个指针被定义后没有分配到任何变量时,它的值为 nil。

nil 指针也称为空指针。

nil在概念上和其它语言的null、None、nil、NULL一样,都指代零值或空值。

一个指针变量通常缩写为 ptr。

标签:语言,ip,fmt,地址,Go,指针,变量
From: https://www.cnblogs.com/ljknlb/p/17109082.html

相关文章

  • 【c&c++】C语言:fgets和fgetc函数读取文件
    C语言:fgets和fgetc函数读取文件1、fgetc是filegetchar的缩写,意思是从指定的文件中读取一个字符。fgetc()readsthenextcharacterfromstreamandreturns......
  • 广州华锐互动利用ChatGpt助力元宇宙营销实现快速语言处理
    在当今的商业环境中,营销是至关重要的。然而,营销不仅仅是一个广告语或一个宣传活动,它需要更深入的思考和策略。这是ChatGpt可以发挥其作用的地方。ChatGpt是一种强大的语言......
  • c语言填空:用函数判断是否为质数
    #include<stdio.h>//键盘输入任意整数,判断其是否为质数intpdzs(intn){inta;for(a=2;a<n;a++)if(n%2==0)【1】;【2】;}main(){int......
  • 【c&c++】 C语言:access函数的使用
    一、access()函数用来判断用户是否具有访问某个文件的权限(或判断某个文件是否存在).二、需要包含#include<unistd.h>三、参数和返回值intaccess(constchar*path......
  • Django 含有外键模型新增数据以及序列化
    https://www.cnblogs.com/SunshineKimi/p/14042914.htmlDjango原生实现外键classAppleModel(models.Model):id=models.AutoField(primary_key=True)app_name......
  • 【c&c++】C语言实现判断大端小端存储方式的代码
    一、大小端简介大小端是计算机存储的两种方式。小端表示法(Little-endian):所谓的小端模式,是指数据的高位保存在内存的高地址中,而数据的低位保存在内存的低地址中,这种存储......
  • Go 语言变量作用域
    作用域为已声明标识符所表示的常量、类型、变量、函数或包在源代码中的作用范围。Go语言中变量可以在三个地方声明:函数内定义的变量称为局部变量函数外定义的变量称为......
  • c++指针基础
    指针是一个变量,其存储的是值的地址,而不是值本身。如何找到常规变量的地址?只需对变量应用地址运算符(&),就可以获得它的位置;intdonuts=3;&donuts就是取donuts变量的地址。......
  • Go 语言函数
    函数是基本的代码块,用于执行一个任务。Go语言最少有个main()函数。你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。函数声明告诉了编译器函数的名......
  • 【快速学】指针是什么?指针常量、常量指针是什么?(C++)
    0、先上总结指针是什么?指针是个数据类型,它里面存储的是个地址如inta=3;,定义了一个int类型的变量a,值为3,它在内存中的地址为&a同理,int*b=3;,定义了一个int*类型的变量b......