• 2024-03-16Go1.22 for range新特性
    Go1.22在forrange方面做了一些调整,主要分为两方面1.不再共享循环变量在Go1.22之前的版本forrange生成的对象是单一的,如下代码:funcmain(){ values:=[]int{1,2,3,4,5} for_,value:=rangevalues{ gofunc(){ fmt.Printf("%p,%d\n",&value,v
  • 2024-03-03go1.22 新特性(日常使用相关)
    for循环循环共享变量问题Go在1.22版本之前,for循环迭代器的变量是一个单一变量,使用不当,会导致意想不到的行为,可能会造成共享循环变量的问题。如依旧要使用旧版本,可以主动配置GOEXPERIMENT=loopvarpackagemainimport( "fmt" "time")funcmain(){ nums:=[]int{1
  • 2024-02-18go1.22的一些关键改动
    参考汇总文章Go1.22正式发布!包含语言变化、性能提高、标准库变动等重要特性在电脑中安装多个版本的golang由于我的电脑安装的是go的1.21版本,1.22版本改动很大,如果工作中部署的项目dockerFile中指定的镜像的go版本比1.22低的话,有一些语法会编译不通过,所以我在官方下载了.gz格式