为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 go lang 中定义单字节变量

如何在 go lang 中定义单字节变量

Go
呼唤远方 2021-09-10 17:03:21
我是 golang 的新手,想找到一种定义单个 byte变量的方法。这是Effective Go参考中的一个演示程序。package mainimport (   "fmt")func unhex(c byte) byte{    switch {    case '0' <= c && c <= '9':        return c - '0'    case 'a' <= c && c <= 'f':        return c - 'a' + 10    case 'A' <= c && c <= 'F':        return c - 'A' + 10    }    return 0}func main(){    // It works fine here, as I wrap things with array.    c := []byte{'A'}    fmt.Println(unhex(c[0]))    //c := byte{'A'}    **Error** invalid type for composite literal: byte    //fmt.Println(unhex(c))}如您所见,我可以用数组包装一个字节,一切正常,但是如何在不使用数组的情况下定义单个字节?谢谢。
查看完整描述

2 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

在您的示例中,这将起作用,使用转换语法T(x)

c := byte('A')

转换是形式为T(x)where Tis a type and xis an expression that can convert to type 的表达式T

请参阅此游乐场示例

cb := byte('A')
fmt.Println(unhex(cb))

输出:

10


查看完整回答
反对 回复 2021-09-10
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

如果您不想使用:=语法,您仍然可以使用var语句,它允许您显式指定类型。例如:

var c byte = 'A'


查看完整回答
反对 回复 2021-09-10
  • 2 回答
  • 0 关注
  • 233 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信