y

ywanbing

V1

2022/04/06阅读:42主题:默认主题

对于升级go1.18的问题

截止目前,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 的最新版。

关注订阅号:

GolangNewbie GO菜鸟

学习更多!

分类:

后端

标签:

后端

作者介绍

y
ywanbing
V1