Go 1.18的这个大版本终于发布了,包括新功能、性能改进和语言的最大变化。官方博客称,Go 1.18的部分设计甚至在10年前Go首次发布时就已经开始了。具体来说,Go 1.18包含以下功能:   

  

     

  

  泛型:go1.18开始引入对泛型的支持。现在我们可以从Go的官方泛型教程中学习这个新特性。此外,Go 1.18的发行说明中还有很多关于泛型使用的细节。Fuzzing :GO成为第一个将模糊测试完全集成到其标准工具链中的主要语言。可以从Go官方Fuzzing教程开始学习。Workspaces):围棋模块得到了广泛的应用。目前,Gopher在使用Go模块时最常见的挑战是如何处理多个模块之间的工作。Go 1.18通过全新的Go工作区模型解决了这个问题。20%性能提升: AppleM1,ARM64,PowerPC64用户会很开心的!因为Go 1.17的寄存器ABI调用约定被扩展到这些架构,所以Go 1.18提供了高达20%的性能提升。在开发机上安装go 1.18我的go版本管理策略如下:使用MacOS家酿安装的Go作为主版本,因为Go的家酿公式版本更新会延迟Go的正式发布。所以为了体验新版Go的特性或者同时在本地保留多个版本的Go,会使用Go Wrapper程序golang.org/dl下载相应版本的Go Wrapper,然后使用Wrapper下载安装相应的Go。   

  

  要安装和体验Go 1.18,首先使用go install安装Go 1.18的Wrapper:   

  

  golang.org/dl/go1.18@latest使用包装器安装Go 1.18:   

  

  go1.18下载下载0.0% ( 16384/143698502字节).下载了0.1% ( 98304/143698502字节).下载了7.4% ( 10616752/143698502字节).下载了15.3% ( 21987168/143698502字节).下载了23.4% ( 33586944/143698502字节).下载了31.6% ( 45399728/143698502字节).下载了39.5% ( 56802896/143698502字节).下载了47.5% ( 68320768/143698502字节).下载了55.8% ( 80231840/143698502字节).下载了63.5% ( 91307344/143698502字节).下载了71.5% (102710528/143698502字节).下载了78.4% (112704688/143698502字节).下载了86.0% (123583584/143698502字节).下载了93.7% (134691840/143698502字节).下载了100.0% (143698502/143698502字节)解包$ home/SDK/Go 1.18/Go 1.18 . Darwin-amd64 . tar . gz.成功。您现在可以运行“go1.18”来查看go1.18的安装位置   

  

  Go1.18 env GOROOT使用包装程序Go1.18作为Go命令。   

  

  以VS代码为IDE,可以将VS代码的go扩展的配置go.goroot指定为go 1.18的安装位置,这样VS代码就可以使用go1.18,当然我不建议你在这里添加go.goroot的配置,因为VS代码的Go扩展可以自动发现已安装的Go版本3360。   

  

  你可以通过查看VS代码左下角的状态栏项来查看当前的Go版本,点击这个状态栏项,通过Choose Go Environment切换使用一个Go版本。   

  

  见https://tip . golang . org/doc/go 1.18https://go . dev/blog/go 1.183359 go . dev/doc/tutorial/generics 3359 go . dev/doc/tutorial/fuzz 3359 github . com/golang/vs code-go。