英文:
Custom length bit types in Go?
问题
在Go语言中,是否可以定义一个自定义类型,其位数不同于byte uint uint16
或其他内置类型提供的位数?
我计划使用"刚好足够的位数"来表示变量,并且想要一个6位和一个4位的类型。也许可以使用复合的bool类型?
type fourbit struct{
ones bool
twos bool
fours bool
eights bool
}
虽然这种方法有些混乱,但希望能有一个更通用的解决方案来定义n位类型。
英文:
In Go is it possible to define a custom type with a number of bits other than those offered by byte uint uint16
or any of the other built-in types?
I'm planning on using "just enough bits" to represent variables and wanted a 6-bit and a 4-bit type. Perhaps a composite bool type?
type fourbit struct{
ones bool
twos bool
fours bool
eights bool
}
Though this sort of thing is quite messy and it would be nice to have a more general solution for n-bit types.
答案1
得分: 6
不。当前实现中,包括类型 bool
在内的 Go 类型的最小大小为一个字节。
参考资料:
英文:
No. The minimum size of a Go type in current implementations, including type bool
, is one byte, .
References:
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论