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(1, 2))
fmt.Println(add(1.2, 2.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 的朋友,可以用用这个最新版本。
推荐阅读
文章评论