美文网首页
go 内存地址

go 内存地址

作者: wyrover | 来源:发表于2018-06-22 21:53 被阅读18次
package main

import (
    "fmt"
    "unsafe"
)

func main() {
    array := [...]int{0, 1, -2, 3, 4}
    pointer := &array[0]
    fmt.Print(*pointer, " ")
    memoryAddress := uintptr(unsafe.Pointer(pointer)) + unsafe.Sizeof(array[0])

    for i := 0; i < len(array)-1; i++ {
        pointer = (*int)(unsafe.Pointer(memoryAddress))
        fmt.Print(*pointer, " ")
        memoryAddress = uintptr(unsafe.Pointer(pointer)) + unsafe.Sizeof(array[0])
    }
    fmt.Println()
    pointer = (*int)(unsafe.Pointer(memoryAddress))
    fmt.Print("One more: ", *pointer, " ")
    memoryAddress = uintptr(unsafe.Pointer(pointer)) + unsafe.Sizeof(array[0])
    fmt.Println()
}

相关文章

  • go内存地址

    go内存地址 内存地址在go中获得该变量的内存地址 用&a 首先声明了一个int类型的变量a,它的值为0,然后又声...

  • go 内存地址

  • day02-13pointer

    指针(指向内存的地址) &:取内存地址 *:根据内存地址取值 vscode 不支持go module new 函数...

  • Go-Pointer

    go 指针 声明指针类型 x 错误写法此时创建的是一个空指针,而空指针无法获取到内存地址,也就无法根据内存地址找到...

  • 【Golang进阶】指针的详细讲解

    指针是一个代表着某个内存地址的值, 这个内存地址往往是在内存中存储的另一个变量的值的起始位置. Go语言对指针的支...

  • 对Java中HashCode方法的深入思考

    前言 最近在学习 Go 语言,Go 语言中有指针对象,一个指针变量指向了一个值的内存地址。学习过 C 语言的猿友应...

  • 2019-05-21 Go语言学习二(接上)

    三、更多类型:struct、slice和映射 1.指针 Go 的指针保存了值的内存地址。 类型 *T 是指向 T ...

  • 【技术】Golang初探——指针、数组、map、函数

    指针 Go 具有指针。 指针保存了变量的内存地址。类型 *T 是指向类型 T 的值的指针。其零值是 nil。 '*...

  • GO语言基础(三)

    指针 Go 拥有指针。指针保存了值的内存地址。 类型 *T 是指向 T 类型值的指针。其零值为 nil。 & 操作...

  • Go 指南 复杂类型

    一、指针 Go 具有指针。 指针保存了变量的内存地址。 类型 *T 是指向类型 T 的值的指针。其零值是 nil ...

网友评论

      本文标题:go 内存地址

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