第六章 go语言指针

Go 语言指针

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

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

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

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

以下实例演示了变量在内存中地址:

package main

import "fmt"

func main() {
   var a int = 10  

   fmt.Printf("变量的地址: %x\n", &a  )
}

  执行以上代码输出结果为:

什么是指针

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

类似于变量和常量,在使用指针前你需要声明指针。指针声明格式如下:

var var_name *var-type

var-type 为指针类型,var_name 为指针变量名,* 号用于指定变量是作为一个指针。以下是有效的指针声明:

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

package main

import "fmt"

func main3()  {

	// var a int=111
	//fmt.Println("变量",&a)


	//1 声明实际变量
	var name string ="2222"
	var  name1 *string  // 声明指针变量
	name1=&name //指针变量存储地址
	fmt.Println("指针变量存储地址",name1)
	fmt.Println("指针值",*name1)
	fmt.Println("name 变量存储地址",&name)
	fmt.Println("源值",name)

}

  

go语言为什么 结构在引用的时候前面加*
 
  1. 修改结构体字段值:在函数中,如果你想要修改传入的结构体的字段值,必须传递结构体的指针。否则,函数内部只是修改了结构体的拷贝,而不会影响原始结构体的值。

  2. 减少内存开销:如果结构体较大,通过传递指针而不是整个结构体本身,可以减少内存拷贝的开销。这对于性能和内存敏感的应用程序来说是非常重要的。

 

posted @ 2023-07-14 10:29  郎小乐  阅读(13)  评论(0)    收藏  举报