当前位置: 首页 > article >正文

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


http://www.kler.cn/a/271650.html

相关文章:

  • 《LLM大语言模型+RAG实战+Langchain+ChatGLM-4+Transformer》
  • Mac Electron 应用签名(signature)和公证(notarization)
  • 从 UTC 日期时间字符串获取 Unix 时间戳:C 和 C++ 中的挑战与解决方案
  • Vue 3.0打造响应式用户界面的新方式
  • Git图形化工具【lazygit】
  • zyNo.19
  • vue 记录一个echarts页面 单色环形饼图 多色环形饼图 柱状图加折线图 饼状图 双柱状图 雷达图 多色堆叠柱状图
  • 电脑音频显示红叉怎么办?这里提供四种方法
  • Linux之shell循环
  • linux常用命令(二)
  • 【Git】error: bad signature 0xb86f1e1 和 bfatal: index file corrupt
  • 51单片机系列-单片机定时器
  • 水库大坝安全监测中需要注意的事项
  • 基于粒子群(PSO)的PID控制器matlab仿真
  • Android中使用intent可以传递哪些类型的数据?
  • 请求头content-type的类型有什么?
  • innovus中path group 的策略和应用(上)
  • python之自动化(django)
  • Python实现连连看
  • linuxOPS基础_linux命令合集
  • 解决:IDEA编译Java程序时报编译失败
  • 【Linux】信号量和线程池
  • 【深度学习】深度估计,Depth Anything Unleashing the Power of Large-Scale Unlabeled Data
  • C#控制台贪吃蛇
  • Redis数据存储的细节
  • upload-labs通关方式