go指针
Posted yzg-14
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go指针相关的知识,希望对你有一定的参考价值。
1. 指针类型
package main import ( "fmt" ) // 演示golang中指针类型 func main() { // 基本数据类型在内存布局 var i int = 10 // i 的地址是什么,&i // & 地址符 fmt.Println("i的地址=", &i) // i的地址= 0xc000062080 // 下面的 var ptr *int = &i // 1. ptr 是一个指针变量 // 2. ptr 的类型 *int // 3. ptr 本身的值&i var ptr *int = &i fmt.Printf("ptr=%v ", ptr) // ptr=0xc000062080 // ptr存的地址,但是ptr也有自己的地址 fmt.Printf("ptr 的地址=%v ", &ptr) // ptr 的地址=0xc00008e020ptr 指向的值=10 fmt.Printf("ptr 指向的值=%v", *ptr) // ptr 指向的值=10 // *ptr取的是存的地址所指向的值 }
案例
package main import "fmt" func main() { var num int = 9 fmt.Printf("num address=%v ", &num) var ptr *int ptr = &num *ptr = 10 // 这里修改时,会到num的值变化 fmt.Println("num =" , num) }
以上是关于go指针的主要内容,如果未能解决你的问题,请参考以下文章
解决go: go.mod file not found in current directory or any parent directory; see ‘go help modules‘(代码片段