Golang-将int添加到字节数组的末尾

Golang-将int添加到字节数组的末尾

问题描述:

I am trying to add an int to the end of a byte array in Golang.
This is my current code:

nameLengthBytes := []byte{32, 32}
nameLength := len(name)

The nameLengthBytes creates 2 spaces, and what I'm looking for is a way to add the nameLength to the end of the nameLengthBytes.

Examples:
if name length is 7, I want the array to be: {32, 55}
If name length is 12, I want the array to be {49, 50}

The problem is that sometimes the name is shorter than 10 so I need to fill up with a leading zero.

我正在尝试在Golang的字节数组末尾添加一个整数。
这是我的 当前代码: p>

  nameLengthBytes:= [] byte {32,32} 
nameLength:= len(name)
  code>  pre> 
 
  

nameLengthBytes strong>创建2个空格,我正在寻找一种将 nameLength strong>添加到 nameLengthBytes strong>末尾的方法 。 p>

示例: em>
如果名称长度为7,我希望数组为:{32,55}
如果名称长度为 12,我希望数组为{49,50} p>

问题是有时名称短于10,所以我需要用前导零填充。 p> div>

You want a space-padded ascii representation of a number as bytes? fmt.Sprintf produces a string, which you can then convert to bytes.

Here's some code, or run it on the playground.

package main

import "fmt"

func main() {
    bs := []byte(fmt.Sprintf("%2d", 7))
    fmt.Println(bs)
}