首页 > 其他分享 >go1.22 新特性(日常使用相关)

go1.22 新特性(日常使用相关)

时间:2024-03-03 10:34:29浏览次数:33  
标签:int fmt 特性 go1.22 func Println 1.22 main 日常

for循环

  1. 循环共享变量问题

Go在1.22版本之前,for 循环迭代器的变量是一个单一变量,使用不当,会导致意想不到的行为,可能会造成共享循环变量的问题。 如依旧要使用旧版本,可以主动配置 GOEXPERIMENT=loopvar

package main

import (
	"fmt"
	"time"
)

func main() {
	nums := []int{1, 2, 3, 4, 5}

	for _, v := range nums {
		go func() {
			fmt.Println(v)
		}()
	}
	time.Sleep(2 * time.Second)
}

同样的一段代码,在1.22之前打印出来的数据可能为 5 5 5 5 5 1.22版本打印出来可能为 1 2 3 4 5 (无序)

  1. 整数类型的范围进行循环迭代
package main

import "fmt"

func main() {
	for i := range 5 {
		fmt.Println(i)
	}
}

Math/Rand 版本 2

package main

import (
	"math/rand/v2"
)

func main() {
	rand.Intn(100)
}

切片拼接

package main

import (
	"fmt"
	"slices"
)

func main() {
	slice1 := []int{1, 2, 3, 4, 5}
	slice2 := []int{6, 7, 8, 9, 10}
	slice3 := []int{11, 12, 13, 14, 15}
	
	// 1.22之前
	merged := append(slice1, slice2...)
	merged = append(merged, slice3...)
	fmt.Println(merged)

	// 1.22版本
	merged2 := slices.Concat(slice1, slice2, slice3)
	fmt.Println(merged2)

}

标签:int,fmt,特性,go1.22,func,Println,1.22,main,日常
From: https://www.cnblogs.com/xingzr/p/18049617

相关文章

  • .NET 全能 Cron 表达式解析库(支持 Cron 所有特性)
    前言今天大姚给大家分享一个.NET全能Cron表达式解析类库,支持Cron所有特性:TimeCrontab。Cron表达式介绍Cron表达式是一种用于配置定时任务的时间表达式。它由一系列字段组成,每个字段代表任务在不同时间维度的调度规则。Cron表达式常用于各种系统中,如操作系统的定时任务、......
  • Java特性和优势
    Java特性和优势简单性面向对象可移植性高性能分布式动态性(反射)多线程安全性健壮性Java三大版本JavaSE:标准版(桌面程序,控制台开发)JavaME:嵌入式开发(手机,小家电)JavaEE:E企业级开发(Web端,服务器开发)JDK、JRE、JVMJDK:JavaDevelopmen......
  • 介绍几个scss 与css 中的新的特性
    介绍几个scss与css中的新的特性css中的@layer。用法如下@layerlow,high;@layerlow{.btn{font-Size:10px;}}@layerhigh{.btn{font-Size:11px;}}@layer{.btn{font-Size:12px;}}.btn{font-Size:1......
  • 数据库专家带你体验PolarDB MySQL版 Serverless的极致弹性特性​!
    体验地址:https://developer.aliyun.com/topic/march/polardbserverless本次基于阿里云瑶池数据库解决方案体验馆,带你体验PolarDBMySQLServerless形态下的性能压测环境,基于可选择的标准压测工具进行压测,构造弹性场景进行压测,实时动态展示弹性能力、价格和性价比结果,压测环境可开......
  • 聊一聊日常开发中如何优雅的避免那无处不在的空指针异常
    在Java编程语言中,NullPointerException(简称NPE)是一种常见的运行时异常,当程序试图访问或操作一个还未初始化(即值为null)的对象引用时,Java虚拟机就会抛出NullPointerException。如果我们在日常开发中,不能很好的去规避NPE,那么可能因为数据或者其他问题就会导致线上问题。。。很烦。。......
  • CSS3有哪些新特性
    CSS3引入了很多新特性,比如:1.选择器:CSS3引入了新的选择器,如伪类选择器、伪元素选择器等,使得选择元素更加灵活和精确。2.边框圆角:CSS3允许通过 border-radius 属性为元素的边框添加圆角,创建圆形、椭圆形或具有不同角度的矩形边框。3.盒阴影:使用 box-shadow 属性,可以为元素......
  • ubuntu日常开发问题集合
    VMware虚拟机和主机间复制粘贴共享剪贴板https://blog.csdn.net/appleKevin/article/details/134227123#!/bin/bashset-oerrexit######################################root@second:/opt#lsb_release-a#NoLSBmodulesareavailable.#DistributorID:Ubuntu#De......
  • C++11新特性的一些用法举例①
    //字符串字面量/*常用:1.原始字符串字面量---括号内保持原样输出---没有转义字符,如\n不再是换行,而是直接输出字面量\nR"(str)";实例:R"(aa\a"b"bb)";//print:aa\a"b"bb注意:constchar*s1=R"foo(HelloWorld)foo";打印结果:HelloWorld;----//&qu......
  • .NET 全能 Cron 表达式解析库,支持 Cron 所有特性【转】
    本文简介本文将为你介绍一款在.NET环境下功能全面的Cron表达式解析库——TimeCrontab。这个库不仅支持Cron的所有特性,还提供了易于使用的API,帮助开发者轻松构建和管理定时任务。无论你是开发Web应用、后台服务还是桌面程序,TimeCrontab都能满足你的需求,让你的定时任务......
  • 电脑日常:查看端口占用 ,WAMP建站
    1.查看端口占用程序报错:通常每个套接字地址(协议/网络地址/端口)只允许使用一次。说明该端口被某个程序占用。在CMD中输入netstat-aon|find10001查看占用10001端口的进程ID。得到 TCP  0.0.0.0:10001     0.0.0.0:0       LISTENING  ......