美文网首页
go 1.6 如何优雅的使用go指针

go 1.6 如何优雅的使用go指针

作者: 秸秆混凝烧结工程师 | 来源:发表于2021-12-10 11:47 被阅读0次

package main

import "fmt"

func main() {
/*
var name string = "我是Golang"
这个 name 是一个普通的变量,当我们调用的时候,机器会给我们返回name所在的地址上的值,
但是出于某些未知的理由我们将这个存储name变量值的地址赋值给其他的变量 比如pointer,此时我们称pointer为指针变量

pointer := &name 此时的pointer的变量只是存储了内存地址,那么这样的变量就是 指针变量

指针变量创建方法
===== 方法一=====
var  a =1
pa := &a

====方法二====

先创建内存,再写入值
a := new(string)  // 创建
*a = "Golang" // 赋值

===== 方法三=====

a := 1
var pa *string
pa = &a

注意;

& :从一个普通变量中取得内存地址

*:1.当*在赋值操作符(=)的右边,是从一个指针变量中取得变量值,
   2.当*在赋值操作符(=)的左边,是指该指针指向的变量
*/

a := 1

pa := &a
fmt.Printf("pa is type %T\n",pa)

pb := new(string)
*pb = "Golang"
fmt.Printf("%s\n",pb) // 这里是取值的 在前 如果不加 返回的是指针地址

c :=1
var pc int
pc = &c
fmt.Println(pc) //这里由于默认是指针 自然返回的就是地址了
fmt.Println(
pc) //这里是取值的
}

image.png

结果:

image.png

相关文章

网友评论

      本文标题:go 1.6 如何优雅的使用go指针

      本文链接:https://www.haomeiwen.com/subject/ivjcfrtx.html