go 泛型
go 泛型
func main() {
fmt.Println(fxinit2(1,2)) //泛型。go 1.17版本不支持泛型,运行mian的脚本时,打开idea左下方Terminal运行,需要加上 go run -gcflags=-G=3 test1.go
fmt.Println(fxinit2("hello","World")) //泛型。linux环境下也可以提前定义好, export GOFLAGS="-gcflags=-G=3"
}
//泛型 就是把参数集合话,不用多次定义两个参数的类型,对参数来说,个人感觉它和空接口功能类似,空接口可以传入任意,但是这个可以指定传入哪些
//go.1.7刚出的泛型,还在测试阶段
type fxinit1 interface {
type int,int8,int16,int32,int64,
uint,uint8,uint16,uint32,uint64,uintptr,
float32,float64,complex64,complex128,string
}
////go1.17版本不支持泛型,这里报错是正常的,运行时加上 -gcflags=-G=3 就可以运行
func fxinit2[T fxinit1](a,b T) T {
return a + b
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!