golang中关于指针操作符&,*的用法描述

Viewed 9

golang中关于指针操作符&,*的用法描述

1 Answers

在Go语言(Golang)中,指针操作符&*用于处理指针。以下是它们的详细用法描述:

& 操作符

&操作符用于获取变量的内存地址,即创建一个指向该变量的指针。

var x int = 10
var p *int = &x

在这个例子中,&x获取了变量x的内存地址,并将其赋值给指针变量p。此时,p是一个指向int类型变量x的指针。

* 操作符

*操作符有两种用法:

  1. 声明指针变量:在变量声明时,*用于表示该变量是一个指针。
var p *int

这里,p被声明为一个指向int类型的指针。

  1. 解引用指针:在指针变量前使用*,可以访问指针所指向的变量的值。
var x int = 10
var p *int = &x
fmt.Println(*p) // 输出:10

在这个例子中,*p解引用指针p,获取并打印出p所指向的变量x的值。

综合示例

以下是一个综合示例,展示了&*操作符的用法:

package main

import "fmt"

func main() {
    var x int = 10
    var p *int = &x

    fmt.Println("x的值:", x)         // 输出:x的值: 10
    fmt.Println("x的地址:", &x)       // 输出:x的地址: 0xc0000140a8
    fmt.Println("p指向的值:", *p)     // 输出:p指向的值: 10
    fmt.Println("p的值(x的地址):", p) // 输出:p的值(x的地址): 0xc0000140a8

    *p = 20
    fmt.Println("修改后x的值:", x)     // 输出:修改后x的值: 20
}

在这个示例中:

  • &x获取了x的地址,并赋值给指针p
  • *p解引用指针p,获取p所指向的变量x的值。
  • 通过*p = 20修改了p所指向的变量x的值。

通过这些操作,可以实现对变量的间接访问和修改。

桂ICP备18011783号-1