Golang 泛型定义类型的时候前面 ~ 代表什么意思

先看代码,定义一个简单的泛型 c1 里面一个 int ,定义一个函数goods 下面 main函数进行调用, 如果直接传int 类型是不会报错的,但是如果传自定义类型的b就会报错。

type c1 interface {
	int
}

func goods[T c1](a T) {
	fmt.Println(a)
}

type myint int

func main() {
	var a int = 1
	var b myint = 2
	goods(a)
	goods(b) error:myint does not satisfy c1 (possibly missing ~ for int in c1)compilerInvalidTypeArg
}

对面代码改成就不会有问题

type c1 interface {
	~int
}

解释
“~” 符号的类型则代表以该类型为底层类型(underlying type)的所有类型,这类带有 “~” 的类型也被称为 approximation elemen

相关推荐

  1. Golang 定义类型时候前面 ~ 代表什么意思

    2024-03-17 20:14:01       21 阅读
  2. Golang

    2024-03-17 20:14:01       25 阅读
  3. 之广泛类型

    2024-03-17 20:14:01       13 阅读
  4. 深度学习中化能力是什么意思

    2024-03-17 20:14:01       47 阅读
  5. TypeScript 类型

    2024-03-17 20:14:01       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-17 20:14:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-17 20:14:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-17 20:14:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-17 20:14:01       20 阅读

热门阅读

  1. 音视频实战---音视频频解码

    2024-03-17 20:14:01       23 阅读
  2. 我的创作纪念日

    2024-03-17 20:14:01       20 阅读
  3. 静态绑定和动态绑定的介绍?

    2024-03-17 20:14:01       21 阅读
  4. 树莓派 ubuntu 23.10 mantic 换阿里云源

    2024-03-17 20:14:01       20 阅读
  5. Microsoft VBA Excel 提取相同名称的整列数据

    2024-03-17 20:14:01       18 阅读
  6. ./experiment.sh: line 64: python3.6: command not found

    2024-03-17 20:14:01       21 阅读
  7. 435. 无重叠区间

    2024-03-17 20:14:01       22 阅读
  8. CentOS7.9 安装SIPp3.6

    2024-03-17 20:14:01       20 阅读
  9. Activiti7 工作流看这一篇就够了(五、事件)

    2024-03-17 20:14:01       19 阅读
  10. openGauss Sqlines 使用指导

    2024-03-17 20:14:01       20 阅读