bool 类型存储类型,占几个字节

golang中bool类型数据,占几个字节的存储,是 1byte还是 1bit,还是其他

已邀请:

shannonlu

赞同来自: kakashi

根据sizeof返回的结果看,bool类型大小是1 byte

//filename bool.go
package main
import "fmt"
import "unsafe"

func main() {
    var a bool = true
    fmt.Printf("true is %d byte\n", unsafe.Sizeof(a))
}
go run bool.go
true is 1 byte

还有一些其它的参考资料: https://www.goinggo.net/2013/07/understanding-type-in-go.html https://groups.google.com/forum/#!forum/golang-nuts [墙]

另:我很想知道这个问题的来源,为什么想到这个问题

mengskysama

赞同来自:

bool 用1bit表示,但是会有pandding字节对齐,如果我没理解错,官方说明里面的pandding和C有一点点区别,在go里面8个bool和1个bool实际占用的内存是一样的,

要回复问题请先登录注册