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
}
posted @   liwenchao1995  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示