小编典典

Go中的sizeof结构

go

我正在看Go,它看起来很有前途。我试图弄清楚如何获得go结构的大小,例如

type Coord3d struct {
    X, Y, Z int64
}

我当然知道它是24字节,但是我想以编程方式知道它。

您对如何执行此操作有任何想法吗?


阅读 367

收藏
2020-07-02

共1个答案

小编典典

import unsafe "unsafe"

/* Structure describing an inotify event.  */
type INotifyInfo struct {
    Wd     int32  // Watch descriptor
    Mask   uint32 // Watch mask
    Cookie uint32 // Cookie to synchronize two events
    Len    uint32 // Length (including NULs) of name
}

func doSomething() {
    var info INotifyInfo
    const infoSize = unsafe.Sizeof(info)
    ...
}

注意: OP错误。unsafe.Sizeof确实在示例Coord3d结构上返回24。请参阅下面的评论。

2020-07-02