https://github.com/tarm/serial/blob/master/serial.go#L103
type StopBits byte
type Parity byte
type Config struct {
Name string
Baud int
ReadTimeout time.Duration
Size byte
Parity Parity
StopBits StopBits
}
我正在尝试标记命令行并填写配置结构,但我不知道如何从 int 或 string 转换为单个字节?
示例尺寸 7
试过
mysize := "7"
mysize[0]
但是然后 tarm/serial 告诉我 serial.Config 中的无效输入错误
i, err := strconv.Atoi("7")
编译器提示我不能做
i.(byte)
我可以让它工作的唯一方法是在配置结构中硬编码
size: 7
。 最佳答案
您可以将 int 转换为字节:https://play.golang.org/p/w0uBGiYOKP
val := "7"
i, _ := strconv.Atoi(val)
byteI := byte(i)
fmt.Printf("%v (%T)", byteI, byteI)
当然,因为这是一个类型断言,如果
i
不是给定的类型(在你的例子中是 byte
)或者它不是一个接口(interface),它就会失败。关于go - 在 Go 中将 int 转换为单个字节,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37210379/