登录
首页 >  Golang >  Go问答

Go中的指针算法

来源:Golang技术栈

时间:2023-04-12 18:20:12 193浏览 收藏

你在学习Golang相关的知识吗?本文《Go中的指针算法》,主要介绍的内容就涉及到golang,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

考虑到您可以(想不出一个很好的表达方式,但是)在 Go 中操作指针,是否可以像在 C 中那样执行指针运算,比如遍历数组?我知道这些天循环对于这类事情很好,但我只是好奇它是否可能。

正确答案

不,来自Go 常见问题解答

为什么没有指针运算?

安全。如果没有指针算法,就有可能创建一种永远不会导出错误成功的非法地址的语言。编译器和硬件技术已经发展到使用数组索引的循环可以与使用指针算法的循环一样高效的程度。此外,缺少指针算法可以简化垃圾收集器的实现。

话虽这么说,你可以通过使用unsafe包来解决这个问题,但 不要

package main

import "fmt"
import "unsafe"

func main() {
    vals := []int{10, 20, 30, 40}
    start := unsafe.Pointer(&vals[0])
    size := unsafe.Sizeof(int(0))
    for i := 0; i 

https://play.golang.org/p/QCHEQqy6Lg

今天关于《Go中的指针算法》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于golang的内容请关注golang学习网公众号!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>