码迷,mamicode.com
首页 > 其他好文 > 详细

go指针

时间:2020-01-10 22:40:08      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:var   ack   package   指针   src   Golan   import   add   布局   

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\n", ptr)  // ptr=0xc000062080  // ptr存的地址,但是ptr也有自己的地址
	fmt.Printf("ptr 的地址=%v\n", &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\n", &num)

	var ptr *int
	ptr = &num
	*ptr = 10  // 这里修改时,会到num的值变化
	fmt.Println("num =" , num)

}

技术图片

go指针

标签:var   ack   package   指针   src   Golan   import   add   布局   

原文地址:https://www.cnblogs.com/yzg-14/p/12178225.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!