go语言泛型在IDE中语法报错

时间:2025-03-31 20:37:21

问题描述

使用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之后的版本