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

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

bash 复制代码
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
}

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

bash 复制代码
type c1 interface {
	~int
}

解释

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

相关推荐
花酒锄作田1 小时前
Gin 框架中的规范响应格式设计与实现
golang·gin
qwfys20013 小时前
How to install golang 1.26.0 to Ubuntu 24.04
ubuntu·golang·install
codeejun14 小时前
每日一Go-25、Go语言进阶:深入并发模式1
开发语言·后端·golang
石牌桥网管15 小时前
Go 泛型(Generics)
服务器·开发语言·golang
小二·15 小时前
Go 语言系统编程与云原生开发实战(第21篇)
开发语言·云原生·golang
小二·15 小时前
Go 语言系统编程与云原生开发实战(第20篇)
开发语言·云原生·golang
女王大人万岁15 小时前
Golang实战Eclipse Paho MQTT库:MQTT通信全解析
服务器·开发语言·后端·golang
codeejun15 小时前
每日一Go-24、Go语言实战-综合项目:规划与搭建
开发语言·后端·golang
石牌桥网管15 小时前
Go类型断言
开发语言·后端·golang
普通网友1 天前
PHP语言的正则表达式
开发语言·后端·golang