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
}
本文来自博客园,作者:liwenchao1995,转载请注明原文链接:https://www.cnblogs.com/liwenchao1995/p/16330156.html

浙公网安备 33010602011771号