我在byte godoc中发现type byte byte
非常混乱,不应该是type byte uint8
?
byte是uint8的别名,在所有方面都等同于uint8。它 按照惯例,用于区分8位无符号字节值 整数值。 type complex128
答案 0 :(得分:5)
没有真正的package builtin
。但是为了解释内置函数,为godoc生成了一个内置合成类型的合成包。类型byte
永远不会真正声明为type byte byte
,因为byte是内置的,不需要声明。 (并且没有字节不会且不应该声明为type byte uint8
:byte是bultin而不是声明。)
只需忽略合成声明并阅读说明。这里的描述很有用。
答案 1 :(得分:2)
我认为答案在于该方案的介绍:
此处记录的项目实际上并不是内置的包,但是这里的描述允许godoc提供语言特殊标识符的文档。
这种语法没有实际意义,它只是一种占位符,可以像其他(非内置)类型一样记录类型byte
。 byte
在内部定义,实际上从未遇到过行type byte byte
。作为内部,它不会被定义为uint8
的“常规”别名,它确实是type newbyte uint8
(虽然type newbyte byte
会有效并且可能更清晰。)