截止目前,go1.18 已经发布了22 天,当前有很多的小伙伴已经在使用最新的版本,尝试着各种解锁新姿势。但是更新之后,在goland中打开发现全是报错,是不是怀疑自己打开的方式不对?
报错:'main'redeclared as the imported package name
报错:Cannot use 'fmt.Sprintf("xxx:%v" , err)' (type string) as the type any
对于这类完全不知道的新问题,尝试着删除 .idea
文件;重启 goland;重启电脑;重新安装go1.18。
但还是解决不了上述报错问题。
经过一系列的思考:
-
go 在新本中增加了泛型,并且改动非常大。 -
go 在发布新版后,之前的 goland 会不会不支持新特性。
对于这两个问题,我们来到goland 的官网看看是不是我们猜想的那样?
一看,果然如此,对于 goland2021.2
的版本居然最高只支持到 go1.17 的新特性.
仔细一看,好像goland2021.2.5
也增加了对泛型的支持,但是可以考虑到这个时候,go1.18 还未正式发布,可能也是为了对应 go1.18 的 rc 尝鲜版本吧!(只是个人猜测)
那么我们来看下一个版本的情况:
goland2021.3.4
开始支持go的泛型约束集,说明可以支持泛型的正常开发功能。
总结:
-
对于golang2021.2的最新版本,支持一部分的泛型尝鲜,但是支持不完善。 -
对于goland2021.3的最新版本,支持完整的go泛型。有需要的需要更新到这个版本。
一般来说我们很少在安装一个版本后频繁的更新 goland,所以借此机会,可以直接更新到 goland 的最新版。
感谢大家的支持,欢迎点赞关注!!!!!!!
文章评论