我想创建一个缓冲区,其中包含昵称和密码等信息。假设我创建了一个空缓冲区,即
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
到那时我想用数据填充它,比如
buffer << nickname(string) << password(string)
, 所以我得到的结果是
08 75 73 65 72 6e 61 6d 65 08 70 61 73 73 77 6f 72 64
这是len.nickname actual_nickname len.password password
现在,在我创建了这样的缓冲区之后,我想将它解析为变量。
那看起来像 buffer >> nickname(string) >> password(string)
我曾经在使用运算符的 C++ 中做过一些东西,但我不确定如何在 Golang 中这样做。
这些缓冲区将用作我的网络应用程序中的数据包主体。我不想使用结构,但有点像上面那样。
我希望我能正确解释我的问题。我也不想使用像 :
这样的分离器将这些放入数组表中。
谢谢。
最佳答案
尝试使用 bytes.Buffer
, 您可以根据需要写入其中,包括使用 fmt.Fprintf
如有必要。当所有内容都写入缓冲区后,您可以取回字节。
buf := bytes.NewBuffer(nil)
fmt.Fprint(buf, nickname)
fmt.Fprint(buf, password)
fmt.Print(buf.Bytes())
关于go - Golang中如何处理字节运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48254021/