什么是IntegerType?

时间:2018-09-18 11:31:45

标签: go

我看到了golang核心并发现了这一点:

func make(t Type, size ...IntegerType) Type

什么是IntegerType和Type?可以是C +吗?

2 个答案:

答案 0 :(得分:7)

您的函数声明来自builtin软件包builtin.make()

func make(t Type, size ...IntegerType) Type

IntegerType链接到:builtin.IntegerType

  

IntegerType此处仅用于文档目的。它是任何整数类型的替代者:int,uint,int8等。

因此它具有文档目的。由于Go中没有泛型,因此声明中使用的每种类型都必须是“真实”类型(而不是类型参数)。但是大多数内置函数都是 special ,它们允许传递多种类型(甚至是类型“ names”)的值。

要表达/记录这一点,builtin包将IntegerType用作“伪”类型,这是任何整数类型的集合类型。

类似地,Type链接到builtin.Type

  

这里的类型仅用于文档目的。它是任何Go类型的替代,但对于任何给定的函数调用,都代表相同的类型。

这也是出于文档目的。它也是一种“伪”类型,可以替代任何类型,但是Go不支持泛型使用有效的语法来表达这种类型。

答案 1 :(得分:5)

整数类型:

  

IntegerType此处仅用于文档目的。它是一个   代表所有整数类型:int,uint,int8等。

例如:type IntegerType int

类型:

  

这里的类型仅用于文档目的。这是一个替身   对于任何Go类型,但对于任何给定函数均表示相同类型   调用。

例如:type Type int

根据document