GoLand 2021.3.3 发布:更好地支持泛型

2022年2月2日 285点热度 0人点赞 0条评论

JetBrains 刚发布了 GoLand 2021.3.3 版本,该版本主要是更好地支持 Go1.18 版本,其中几个特性一起看看。

1、支持快速修复切换到新的 Go SDK

如果你的项目包含泛型代码,但你当前的 Go SDK 版本低于 Go1.18,GoLand 会报错并给出修复建议。

比如,当前项目的 Go SDK 是 1.17.6,go.mod 中的版本是 1.17,写入如下代码:

package main

import (
 "fmt"
)

func add[T ~int | ~float64](a, b T) T {
 return a + b
}

func main() {
 fmt.Println(add(12))
 fmt.Println(add(1.22.3))
}

add 后面的内容会提示错误,鼠标放上去有提示:

图片

点击 More actions… 会出现这样的框:

图片

如果本地没有 Go1.18 版本,可以下载。设置好 Go1.18 后,还会报错,因为 go.mod 中的版本没有改。再次点击 More actions… 会出现修改 go.mod 到 Go1.18 的提示,点击即可搞定。

2、支持底层类型约束

现在支持具有底层类型约束的函数,GoLand 不再显示“缺少函数体”错误。

3、“Exported element should have a comment” 检测默认启用

在 GoLand 的首选项中有配置 Go 代码风格的地方:Preference/Settings | Editor | Code Style | Inspections,Go、代码风格。

图片

4、其他改动

1)传递给闭包的未使用变量被报告为错误。如果将 Go SDK 设置为1.18,GoLand 现在将传递给闭包的未使用变量报告为错误。

图片

2)“Cannot use … (type …) as the type any” 错误已修复

3)会提示类型参数的空列表错误

4)无效文件不会进行语法检测

。。。

完整的发布说明见 https://youtrack.jetbrains.com/articles/GO-A-29/GoLand-2021.3.3-(213.6777.51-build)-Release-Notes。

GoLand 2021.3.3 对泛型支持更好了,喜欢 GoLand 的朋友,可以用用这个最新版本。


推荐阅读

福利
我为大家整理了一份从入门到进阶的Go学习资料礼包,包含学习建议:入门看什么,进阶看什么。关注公众号 「polarisxu」,回复 ebook 获取;还可以回复「进群」,和数万 Gopher 交流学习。

图片

6740GoLand 2021.3.3 发布:更好地支持泛型

root

这个人很懒,什么都没留下

文章评论