dragon8997474 2014-02-02 13:29
浏览 49
已采纳

等价于Go中的sizeof(aType)

C++ and several other languages have a function called sizeof(int) (or whatever type you need) that returns the number of bytes consumed by a particular data type, in the current system.

Is there an equivalent function in Go? What is it?

  • 写回答

4条回答 默认 最新

  • donglu5041 2014-02-02 14:07
    关注

    If you want to find out the size of a particular value, there are two ways to do that - using the unsafe package, or using the reflection package. The following code demonstrates both:

    package main
    
    import (
        "fmt"
        "reflect"
        "unsafe"
    )
    
    func main() {
        var i int
        fmt.Printf("Size of var (reflect.TypeOf.Size): %d
    ", reflect.TypeOf(i).Size())
        fmt.Printf("Size of var (unsafe.Sizeof): %d
    ", unsafe.Sizeof(i))
    }
    

    However, I am not aware of a way to get the size of a type directly. But I think you'll find out that the sizeof function is not needed as often as in C.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 深度学习残差模块模型
  • ¥20 两个不同Subnet的点对点连接
  • ¥50 怎么判断同步时序逻辑电路和异步时序逻辑电路
  • ¥15 差动电流二次谐波的含量Matlab计算
  • ¥15 Can/caned 总线错误问题,错误显示控制器要发1,结果总线检测到0
  • ¥15 C#如何调用串口数据
  • ¥15 MATLAB与单片机串口通信
  • ¥15 L76k模块的GPS的使用
  • ¥15 请帮我看一看数电项目如何设计
  • ¥23 (标签-bug|关键词-密码错误加密)