JetBrains 刚发布了 GoLand 2021.3.3 版本,该版本主要是更好地支持 Go1.18 版本,其中几个特性一起看看。
如果你的项目包含泛型代码,但你当前的 Go SDK 版本低于 Go1.18,GoLand 会报错并给出修复建议。
比如,当前项目的 Go SDK 是 1.17.6,go.mod 中的版本是 1.17,写入如下代码:
package mainimport (
"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 的提示,点击即可搞定。
现在支持具有底层类型约束的函数,GoLand 不再显示“缺少函数体”错误。
在 GoLand 的首选项中有配置 Go 代码风格的地方:Preference/Settings | Editor | Code Style | Inspections,Go、代码风格。
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 的朋友,可以用用这个最新版本。
我是 polarisxu,北大硕士毕业,曾在 360 等知名互联网公司工作,10多年技术研发与架构经验!2012 年接触 Go 语言并创建了 Go 语言中文网!著有《Go语言编程之旅》、开源图书《Go语言标准库》等。
坚持输出技术(包括 Go、Rust 等技术)、职场心得和创业感悟!欢迎关注「polarisxu」一起成长!也欢迎加我微信好友交流:gopherstudio