在Go中读取和写入纯二进制信息的最佳方式是什么?

在Go中读取和写入纯二进制信息的最佳方式是什么?,go,Go,我想为一个个人项目手工实现哈夫曼编码。我一直关注的部分是如何存储编码。假设我的输入可以用65位编码。我是否创建了一个类来包装一个9字节的字节片,并将元素视为一个连续的内存块?或者有没有一种方法可以更直接地完成我想要的任务?您可以使用bitarray数据结构来实现这一点。看看这个我不确定你在问什么(尽管其他人可能会问)。你能详细说明你想做什么吗?另外,Go中没有类。我试图了解如何存储长度未知的二进制数据。我指的是非正式意义上的课堂(我知道你在围棋中使用了关键字“type”)。如果我有65位,我如何

我想为一个个人项目手工实现哈夫曼编码。我一直关注的部分是如何存储编码。假设我的输入可以用65位编码。我是否创建了一个类来包装一个9字节的字节片,并将元素视为一个连续的内存块?或者有没有一种方法可以更直接地完成我想要的任务?

您可以使用bitarray数据结构来实现这一点。看看这个

我不确定你在问什么(尽管其他人可能会问)。你能详细说明你想做什么吗?另外,Go中没有类。我试图了解如何存储长度未知的二进制数据。我指的是非正式意义上的课堂(我知道你在围棋中使用了关键字“type”)。如果我有65位,我如何连续存储它们?我想这取决于你需要如何操作它。您当然可以使用9字节的片(或数组)来存储65位。您可以考虑创建一个接口,允许您以任何需要的方式对该65位值进行操作。这可能会让您更好地了解如何在内部表示它。如果你打算用这些65位的值中的几个来表示一些位流,你可能会想用一种比浪费一个字节来存储一位更有效的方法来实现它。我认为这将非常有用。