问题描述
使用goland进行泛型的使用,go版本为:
go version go1.18.1 windows/amd64
编写代码:
func Test[T any](a, b T) T {
return a
}
func Add[T string | int | int64 | float64](a, b T) T {
return a + b
}
func main() {
("hello")
res := Test(1.1, 2.2)
(res)
}
出现以下问题:
#command-line-arguments
.\:5:17: syntax error: unexpected type, expecting ]
解决方法
这是因为goland不支持泛型的格式:部分版本可以使用外部工具进行扩展:
官网教程如下
/go/2020/11/24/experimenting-with-go-type-parameters-generics-in-goland/
建议直接更新到2022之后的版本