go指针

上大学那会学了C,可是没用心去听,所以指针那块一直觉得很难,工作之后也一直是用java,所以指针对于我来说是一块不想触碰的地方,最近看go程,很多地方也都使用了指针来操作,看了看其实指针也不是很难搞,只是在程序中用好,用对指针可能还是有难度的! go的指针和C基本没什么区别,我粗俗的理解就是用来操作内存的 输入图片说明

var int a 
a =20 
var b *int 
b=&a
fmt.println(*b)
// 输出的是20

// 指针操作array
        const max int = 3
	arrays := []int{100, 200, 300}
	var ptr [max]*int
	var i int
	for i = 0; i < max; i++ {
		fmt.Println(arrays [i])
		ptr[i] = &arrays [i]

	}
	for i = 0; i < max; i++ {
		fmt.Println(*ptr[i])
	}

2017.5.11 java的引用传递和go,c指针传递差不多,只是指针显示表达了对内存的操作!我猜想可能很多初学C的人和我一样都是比较恐惧指针的,所以java发明者就换个名字,这样让开发者不知不觉的其实还是在使用指针啊!当然还有很多原因,这是需要我们去体会的! 看到知乎上有篇帖子https://www.zhihu.com/question/49914062?sort=created 觉得总结下来还是归结于效率问题啦!

转载于:https://my.oschina.net/isxiaoge/blog/896569

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值