Go 1.21新功能

Golang中遇到“note module requires Go xxx”后的解决方案,不升级Go版本! 我本地之前是没有拉取过resty包的,因此当我使用go get命令且没有明确指定版本号的情况下,是直接会拉取最新版本的,也就是。其实不管是包还是包,在我项目中并没直接引用它们,因此,根本就无法在go.mod文件中去调整它们的版本。另外,哪怕是存在go.mod文件中,但是后面带了有注释的,就算是我们在go.mod文件中删了这个依赖也没有啥用! 阅读详情

Go 1.21新功能

1. min/max/clear

min

func TestMin(t *testing.T) {
	m1 := min(1, 2, 3)       // 1
	m2 := min(1, min(2, 3))  // 1
	s3 := min("a", "b", "c") // a
	t.Log(m1, m2, s3)
}

max

func TestMin(t *testing.T) {
	m1 := max(1, 2, 3)       // 3
	m2 := max(1, max(2, 3))  // 3
	s3 := max("a", "b", "c") // c
	t.Log(m1, m2, s3)
}

clear

如果map或slice为nil不会产生任何操作。

func TestClear(t *testing.T) {
	m1 := map[string]int{"a": 1, "b": 2, "c": 3} // map[]
	s2 := []int{1, 2, 3, 4}                      // [0 0 0 0]
	clear(m1)
	clear(s2)
	t.Log(m1, s2)
}

2. slices package

下面例举部分用法,更多请参考slices package。

func TestSlices(t *testing.T) {
	s := []int{1, 2, 3, 4}

	// min
	m := slices.Min(s) // 1
	t.Log(m)

	// max
	m = slices.Max(s) // 4
	t.Log(m)

	// binary search
	i, ok := slices.BinarySearch(s, 3)
	t.Log(i, ok)

	// equal
	ok = slices.Equal(s, []int{1, 2, 3, 4}) // true
	t.Log(ok)
	ok = slices.Equal(s, []int{4, 3, 2, 1}) // false
	t.Log(ok)

	// delete
	newS := slices.Delete(s, 0, 2) // [3 4]
	t.Log(newS)
}

3. maps package

下面例举部分用法,更多请参考maps package。

func TestMaps(t *testing.T) {
	m := map[string]int{"a": 1, "b": 2, "c": 3}

	// clone
	m2 := maps.Clone(m) // map[a:1 b:2 c:3]
	t.Log(m2)

	// equal
	e := maps.Equal(m, map[string]int{"b": 2, "c": 3, "a": 1}) // true
	t.Log(e)
}

4. cmp package

下面例举部分用法,更多请参考cmp package。

func TestCmp(t *testing.T) {
	// less
	l := cmp.Less(1, 2) // true
	t.Log(l)

	// Compare
	c := cmp.Compare(1, 2)
	t.Log(c)
}

5. 参考

Canoe主要功能的详细介绍 CANoe是德国Vetor公司推出的一款用于总线开发的设备,全程为CAN open environment。后来随着总线技术的发展,CANoe不仅限于CAN类型的总线开发,还包含LIN、FlexRay、MOST和以太网等开发。在车载网络和ECU开发、测试和分析方面,CANoe几乎长期占据着垄断地位,当然是因为其强大的功能性了。目前用这个工具的主要是整车厂和供应商的网络设计工程是、开发工程师和测试工程师。小编当时安装CANoe的时候也是花了一定的时间和精力,好在没有崩溃。 阅读详情

相关推荐

从零开始学嵌入式之STM32——1.什么是STM32

它是ST公司推出的一系列单片机的统称。ST----指的是ST公司----意法半导体。意法半导体,成立于1987年,是由意大利的SGS微电子公司和法国的Thomson半导体公司合并而成。ARM目前主要是ARM架构处理器及外围组件的电路设计方案,知识产权授权的形式收取费用,其他公司根据ARM的方案设计出CPU产品。,它以应用为核心,软硬件可裁剪,旨在实现对设备的控制、监测或辅助功能,区别于通用计算机(如 PC、服务器)的 “一机多用” 属性。在嵌入式领域,目前主流的是cortex-M3内核推出的芯片。

qshdyy的博客 1854

保持向后兼容,Go 2永不会给Go 1带去任何破坏性

【优快云 编者按】这篇文章详细讨论了 Go 语言的向后兼容性问题。文章强调了 Go 1.21 中的新特性,以改善兼容性,并解释了为什么兼容性对于 Go 语言如此重要。文章还提到了 Go 2 的最新情况,强调了兼容性的价值,并承诺将在未来几年内以谨慎、兼容的方式进行新的、令人兴奋的工作。原文链接:https://go.dev/blog/compat未经允许,禁止转载!作者 |Russ Cox ...

优快云云计算 293

Reality Capture控制点修复/合并模型

通过增加控制点/修改对齐设置参数来修复模型被分为两个部分的解决方法

草履虫建模的博客 5239

Go 1.21新增的 slices 包详解(二)

Go 1.21新增的 slices 包提供了很多和切片相关的函数,可以用于任何类型的切片。

路多辛的所思所想 2107

实战指南:如何用DCCRN模型提升语音增强效果(附代码示例)

本文提供了基于DCCRN模型进行语音增强的实战指南。通过深入解析复数网络如何协同处理语音的幅度与相位信息,并附有完整的PyTorch代码实现,帮助开发者从数据准备、模型搭建到训练调优,构建高效的实时语音增强系统,有效提升嘈杂环境下的语音清晰度。

weixin_29054245的博客 478

从零搭建Obsidian智能知识库:Ollama本地模型与Copilot插件实战指南

本文详细介绍了如何从零搭建Obsidian智能知识库,结合Ollama本地模型与Copilot插件实现高效知识管理。通过本地部署AI助手,用户可以在保证隐私安全的同时,快速检索和整理笔记,提升工作效率。文章涵盖硬件准备、Ollama部署、插件配置及实战技巧,适合需要高效知识管理的专业人士。

weixin_29230773的博客 631

Go 1.21新增的 slices 包详解(三)

Go 1.21新增的 slices 包提供了很多和切片相关的函数,可以用于任何类型的切片。

路多辛的所思所想 4525

【OpenVINO】OpenVINO C# API 常用 API 详解与演示

在本文中我们基于模型推理流程,演示了OpenVINO C# API使用方法,并和OpenVINO C++API进行了对比,展示了OpenVINO C# API与C++API在使用的区别,这也对使用过C++ API的开发者十分友好,上手会十分容易。在本文中我们只展示了基础的模型推理流程代码,也对各个API进行了测试,针对其他比较高级的API方法,我们后续会继续进行测试其他API方法,向各位开发者展示其用法。

grape_yan的博客 1539

Go trace的魔力

Felix Geisendörfer 和 Michael Knyszek 与 Natalie 一起讨论 Go 执行跟踪:为什么它们很棒、常见的用例、它们最近如何变得更好等等。 本篇内容是根据2024年3月份#310 The magic of a trace音频录制内容的整理与翻译 过程中为符合中文惯用表达有适当删改, 版权归原作者所有. Natalie Pistunovich: 我是 Natalie Pistunovich,今天我邀请了两位同样姓氏复杂的嘉宾:Felix Geisendörfer 和 Mic

techdashen的博客 951

OpenCV和Halcon分别实现彩色图像的白平衡效果

实现白平衡算法中的灰度世界法,能有效改善图像发红/发蓝/发绿的现象 1、OpenCV #include <opencv2/opencv.hpp> using namespace cv; int main() { Mat g_srcImage,dstImage; vector<Mat> g_vChannels; g_srcImage = im...

$firecat利白的代码足迹$ 2829

Token 费用爆炸?教你用 Semantic Cache(语义缓存)把 API 成本降低 80%

本文介绍了语义缓存(Semantic Cache)技术在大模型应用中的关键作用。传统Redis缓存基于精确匹配,无法处理用户提问的语义相似性,导致重复调用昂贵的LLM API。语义缓存通过将问题向量化并在向量空间中进行相似度匹配,可识别30%-50%的重复提问,直接返回历史答案。文章详细解析了技术原理(Embedding+向量搜索)、架构设计,并提供了基于Python和ChromaDB的50行核心实现代码。同时指出了生产环境中的三大挑战:阈值设定、隐私保护和多轮对话处理,并给出相应解决方案。该技术能以极低成

BUG猿的博客 1055

Go 1.21新特性前瞻

Go 1.21版本[1]正在如火如荼地开发当中,按照Go核心团队的一年两次的发布节奏来算,Go 1.21版本预计将在2023年8月发布(Go 1.20版本[2]是在2023年2月份发布的)。本文将和大家一起看看Go 1.21都会带来哪些新特性。不过由于目前为时尚早,下面列出的有些变化最终不一定能进入到Go 1.21的最终版本中,所以切记一切变更要以最终Go 1.21版本发布时为准。在细数变化之前,...

TonyBai 1299

AutoSAR系列讲解(入门篇)2.4-Runnables可运行实体

讲解一下Runnable和其工程的实际映射

雪云飞星的博客 3万+

Go 1.22 相比 Go 1.21 有哪些值得注意的改动?

本系列旨在梳理 Go 的 release notes 与发展史,来更加深入地理解 Go 语言设计的思路。

weixin_42501035的博客 80

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Vitess v18.0.5 发布说明:查询路由修复、VReplication 健康检查与性能优化全解读

本文基于 Vitess 官方仓库中 `changelog/18.0/18.0.5/changelog.md` 的完整发布记录,系统梳理 v18.0.5 补丁版本(patch release)中的全部变更。该版本针对 v18.0 系列累计的缺陷,重点修复了查询服务(Query Serving)中的派生表 DISTINCT 丢失、聚合函数 panic、SQL 解析器赋值错误等问题,并解决了 ZooKe

gitblog_01043的博客 10

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

2023年6月21日 Go生态洞察:Go 1.21版发行候选版的深入分析

🔍 大家好,我是猫头虎博主!今天我们要聊的是Go语言的最新动态:Go 1.21版的发行候选版。如果你是Go语言的爱好者,这里有你不容错过的最新信息和深入分析。让我们一起探索Go 1.21版的新特性和改进吧!本文被猫头虎的Go生态洞察专栏收录,详细内容请点击这里。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 4793

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

2023年8月8日 Go生态洞察:Go 1.21 版本发布探索

你们的努力帮助确保Go 1.21尽可能稳定。如果你发现任何问题,请提交问题。祝大家使用Go 1.21愉快!关键点描述工具改进PGO功能全面可用,go工具支持语言兼容性语言变化新增内置函数min、max和clear,泛型函数类型推断改进标准库新增新增log/slog、slices、maps和cmp包性能提升启用PGO后的编译器性能提升,垃圾收集器调优,减少了runtime/trace的CPU开销WebAssembly System Interface (WASI) 新端口。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 4514

升级Go 1.21必看:Go Tools工具链7大实用功能深度解析

你是否在升级Go 1.21后遇到工具链不兼容问题?还在手动管理复杂的Go项目依赖关系?本文将带你全面了解Go Tools工具链针对Go 1.21的最新功能改进,从智能代码补全到高效项目重构,7大实用功能让你的Go开发效率提升300%。读完本文,你将掌握Go Tools的核心使用技巧,轻松应对大型Go项目开发挑战。 ## Go Tools简介与安装指南 Go Tools是Go语言官方提供的一系列...

gitblog_00283的博客 916

保持向后兼容,Go 2永不会给GO 1带去任何破坏性

【优快云 编者按】这篇文章详细讨论了 Go 语言的向后兼容性问题。文章强调了 Go 1.21 中的新特性,以改善兼容性,并解释了为什么兼容性对于 Go 语言如此重要。文章还提到了 Go 2 的最新情况,强调了兼容性的价值,并承诺将在未来几年内以谨慎、兼容的方式进行新的、令人兴奋的工作。原文链接:https://go.dev/blog/compat未经允许,禁止转载!作者 | Russ Cox ...

优快云资讯 3063

2011年07月21日 Go生态洞察:Google App Engine的Go运行时现已全面可用 ☁️

嗨,猫头虎博主来报道!今天我们的话题是Go在Google App Engine上的全面可用性。🎉 如果你有一个Go应用搁置在那里,或者计划开发一个,现在是时候将它部署到App Engine上了。本文将介绍这一新里程碑以及它对Go开发者的意义。App Engine的Go运行时的全面可用性是Go社区的一大进步,为Go开发者带来了更广阔的部署和开发平台。尽管Go运行时仍被视为实验性功能,但它为Python和Java运行时提供了有力的补充。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 1万+

Go语言回顾:从Go 1.0到Go 1.13

Go 1.13版本在2019.9.3正式发布!国外的Gopher Vincent Blanchon发表了一篇文章《Go: Retrospective》(科学上网阅读),对...

TonyBai 539

Go 语言中的 toolchain 指令-toolchain go1.23.6的作用和目的

Go 1.21引入的toolchain指令为模块系统提供精确版本控制。在go.mod中,"toolchain go1.23.6"明确指定构建所需的Go工具链版本,确保开发环境和CI/CD使用一致版本(go1.23.6),避免兼容性问题。该指令还能自动检查/下载指定版本,优化依赖解析,是现代化Go开发的重要实践。相比仅用"go 1.23.0",toolchain能精确到补丁版本,显著提升项目稳定性和可维护性,成为Go项目标准化的重要组成部分。

西京刀客 714

又有新功能!Go 将有生成新模板的 gonew 工具链

大家好,我是煎鱼。不知道大家平时在日常工作中,会不会遇到一个问题?公司用着微服务架构,经常要创建新的服务,需要一个应用模板去初始化新的服务,减少 ctrl+c+v,转为相对自动化。不同团队根据 Leader 的喜好、要求不同,应用模板又会不同。有的喜欢 DDD、有的喜欢 MVC、有的大道至简即可。每家公司都会延伸出一个工具链做这个事情。新工具:gonew 生成模板在 Go 社区也出现了这种诉求,G...

EDDYCJY的博客 303

一个golang小白使用vscode搭建Ununtu20.04下的go开发环境

先交代一下背景,距离正式接触golang这门语言已经有5年时间,平时偶尔也会用go写写工具和功能,但其实充其量就是语言小白,基本上就是按照教程配置好环境,按照需求写写逻辑,能跑起来就行了。golang随着这几年的变化,这门语言的变化还是非常大的,之前写过一篇《Go环境配置时遇到的GOPATH路径以及包管理问题》,可以看出之前配置的变量很像Java早期的配置环境,从1.11 版本之后go工程不必放到GOPATH路径中了,通过go.mod文件来标记并跟踪每个软件包的版本,灵活度大大提高...

AlbertS Home of Technology 3692

Go:HTTP长连接

Go:HTTP长连接 一、演示 package main import ( "fmt" "io" "io/ioutil" "log" "net" "net/http" "net/url" "sync" "time" ) var ( client *http.Client once sync.Once ) func CreateHTTPClient() *http.Client { // 使用单例创建client once.Do(func() { client = &a

yimtcode 3307
上一篇: Ubuntu Updates for this repository will not be applied
下一篇: Redis 执行Lua脚本
yimtcode
博客等级 码龄6年 205粉丝 140原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yimtcode

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值