- 2023-05-20:go语言的slice和rust语言的Vec的扩容流程是什么?答案2023-05-20: go语言的slice扩容流程go版本是1.20.4。扩容流程见源码见runtime/slice.go文件中的growslice 函数。growslice 函数的大致过程如下:1.如果元素类型的大小为零,则返回具有 nil 指针但非零长度的切片。否则,下一步。2.计算新切片的容量。如果... 2023-05-20:go语言的slice和rust语言的Vec的扩容流程是什么?答案2023-05-20: go语言的slice扩容流程go版本是1.20.4。扩容流程见源码见runtime/slice.go文件中的growslice 函数。growslice 函数的大致过程如下:1.如果元素类型的大小为零,则返回具有 nil 指针但非零长度的切片。否则,下一步。2.计算新切片的容量。如果...
- 在之前我曾写过一篇文章《手把手教你搭建Spring Boot+Vue前后端分离》,讲述了如何使用当下流行的Java后端框架Spring Boot和前端框架Vue来进行前后端分离设计,以及什么是前后端分离、跨越问题和设计流程等等,当时还是一名妥妥的Javaer,可是时过境迁,现在的我已然是一名十分活跃的Gopher,成为Gopher一段时间之后再回头看Java的代码,有三个问题甚是不解:怎么会... 在之前我曾写过一篇文章《手把手教你搭建Spring Boot+Vue前后端分离》,讲述了如何使用当下流行的Java后端框架Spring Boot和前端框架Vue来进行前后端分离设计,以及什么是前后端分离、跨越问题和设计流程等等,当时还是一名妥妥的Javaer,可是时过境迁,现在的我已然是一名十分活跃的Gopher,成为Gopher一段时间之后再回头看Java的代码,有三个问题甚是不解:怎么会...
- 往期回顾:Go语言开发小技巧&易错点100例(一)Go语言开发小技巧&易错点100例(二)Go语言开发小技巧&易错点100例(三)本期看点(技巧类用【技】表示,易错点用【易】表示):(1)goroutine控制并发数量的方式【技】(2)Go发起HTTP请求【技】(3)包循环依赖导致的异常【易】正文如下: 1 goroutine控制并发数量的方式【技】首先我们思考一个问题,为什么要控制goro... 往期回顾:Go语言开发小技巧&易错点100例(一)Go语言开发小技巧&易错点100例(二)Go语言开发小技巧&易错点100例(三)本期看点(技巧类用【技】表示,易错点用【易】表示):(1)goroutine控制并发数量的方式【技】(2)Go发起HTTP请求【技】(3)包循环依赖导致的异常【易】正文如下: 1 goroutine控制并发数量的方式【技】首先我们思考一个问题,为什么要控制goro...
- 这么快就第三期了,算下来这期包括前几期我的《Go语言开发小技巧&易错点100例》已经凑够了15个!任务完成率15%!继续加油!往期回顾:Go语言开发小技巧&易错点100例(一)Go语言开发小技巧&易错点100例(二)本期看点(技巧类用【技】表示,易错点用【易】表示):(1)Go omitempty关键字【技】(2)Go 进行JSON Marshal序列化时需要注意的问题【易】(3)Go io... 这么快就第三期了,算下来这期包括前几期我的《Go语言开发小技巧&易错点100例》已经凑够了15个!任务完成率15%!继续加油!往期回顾:Go语言开发小技巧&易错点100例(一)Go语言开发小技巧&易错点100例(二)本期看点(技巧类用【技】表示,易错点用【易】表示):(1)Go omitempty关键字【技】(2)Go 进行JSON Marshal序列化时需要注意的问题【易】(3)Go io...
- 跨链的核心是实现区块链之间信息的可信传递以及验证 跨链的核心是实现区块链之间信息的可信传递以及验证
- 使用 JWT 进行身份校验涉及知识点JWT本文目标在前面几节中,我们已经基本的完成了 API’s 的编写,但是,还存在一些非常严重的问题,例如,我们现在的 API 是可以随意调用的,这显然还不安全全,在本文中我们通过 jwt-go (GoDoc)的方式来简单解决这个问题。下载依赖包首先,我们下载 jwt-go 的依赖包,如下:go get -u github.com/dgrijalva/jw... 使用 JWT 进行身份校验涉及知识点JWT本文目标在前面几节中,我们已经基本的完成了 API’s 的编写,但是,还存在一些非常严重的问题,例如,我们现在的 API 是可以随意调用的,这显然还不安全全,在本文中我们通过 jwt-go (GoDoc)的方式来简单解决这个问题。下载依赖包首先,我们下载 jwt-go 的依赖包,如下:go get -u github.com/dgrijalva/jw...
- Go 为什么不支持可重入锁?程序里的锁,是很多小伙伴在写分布式应用时用的最多的一个利器之一。使用 Go 的同学里,绝大部分都有其他语言的经验,就会对其中一点有疑惑,那就是 Go 里的锁,竟然不支持可重入?为此,今天煎鱼带大家一起来了解这里的设计考量,看看为什么。可重入锁如果对已经上锁的普通互斥锁进行 “加锁” 操作,其结果要么失败,要么会阻塞至解锁。锁的场景如下:在加锁上:如果是可重入互斥锁... Go 为什么不支持可重入锁?程序里的锁,是很多小伙伴在写分布式应用时用的最多的一个利器之一。使用 Go 的同学里,绝大部分都有其他语言的经验,就会对其中一点有疑惑,那就是 Go 里的锁,竟然不支持可重入?为此,今天煎鱼带大家一起来了解这里的设计考量,看看为什么。可重入锁如果对已经上锁的普通互斥锁进行 “加锁” 操作,其结果要么失败,要么会阻塞至解锁。锁的场景如下:在加锁上:如果是可重入互斥锁...
- 本文简单介绍了 Go 语言中的方法接收器,重点讲解了值接收器和指针接收器。通过实际示例展示了它们的用法,并对比了它们的差异性。最后,给出了如何根据实际情况正确选择接收器的建议。 总之,在选择接收器时,我们应考虑接收器类型的特性及使用场景,根据实际需求做出选择。若 无法确定 究竟使用哪种接收器,建议优先考虑 指针接收器。 本文简单介绍了 Go 语言中的方法接收器,重点讲解了值接收器和指针接收器。通过实际示例展示了它们的用法,并对比了它们的差异性。最后,给出了如何根据实际情况正确选择接收器的建议。 总之,在选择接收器时,我们应考虑接收器类型的特性及使用场景,根据实际需求做出选择。若 无法确定 究竟使用哪种接收器,建议优先考虑 指针接收器。
- 在日常开发中,枚举类型是很常用的,虽然 Go 语言中没有内置枚举类型,但也不妨碍我们自己实现一个类似的 “枚举类型”。在实现的时候,需要考虑类型约束和安全性的问题。 实现类似枚举类型功能的方式有很多种,本文只是介绍了使用自定义类型的方式,如果理解了核心思想,我们还可以使用结构体等方式来实现类似枚举类型的功能。 在日常开发中,枚举类型是很常用的,虽然 Go 语言中没有内置枚举类型,但也不妨碍我们自己实现一个类似的 “枚举类型”。在实现的时候,需要考虑类型约束和安全性的问题。 实现类似枚举类型功能的方式有很多种,本文只是介绍了使用自定义类型的方式,如果理解了核心思想,我们还可以使用结构体等方式来实现类似枚举类型的功能。
- 本文详细介绍了 Go 语言中的 sync.Once,包括它的基本定义、使用场景和应用实例以及源码分析等。在实际开发中,sync.Once 经常被用于实现单例模式和延迟初始化操作。 虽然 sync.Once 简单而又高效,但是错误的使用可能会造成一些意外情况,需要格外小心。 本文详细介绍了 Go 语言中的 sync.Once,包括它的基本定义、使用场景和应用实例以及源码分析等。在实际开发中,sync.Once 经常被用于实现单例模式和延迟初始化操作。 虽然 sync.Once 简单而又高效,但是错误的使用可能会造成一些意外情况,需要格外小心。
- RWMutex 是 Go 中的一种读写锁实现,它通过读锁允许多个 goroutine 同时执行读操作,当有写操作请求时,必须等待所有读操作执行结束后才能执行写操作。 RWMutex 的设计采用了 Write-preferring 方案,即如果有写操作在等待执行,新来的读操作将会被阻塞,以避免写操作的饥饿问题。 RWMutex 是 Go 中的一种读写锁实现,它通过读锁允许多个 goroutine 同时执行读操作,当有写操作请求时,必须等待所有读操作执行结束后才能执行写操作。 RWMutex 的设计采用了 Write-preferring 方案,即如果有写操作在等待执行,新来的读操作将会被阻塞,以避免写操作的饥饿问题。
- 本文主要介绍了 Go 语言中互斥锁 Mutex 的概念、对应的字段和方法、基本使用和易错场景,最后基于 Mutex 实现一个简单的线程安全的缓存。 Mutex 是保证共享资源数据一致性的重要手段,但使用不当会导致性能下降或死锁等问题。因此,在使用 Mutex 时需要仔细考虑代码的设计和并发场景,发挥 Mutex 的最大作用。 本文主要介绍了 Go 语言中互斥锁 Mutex 的概念、对应的字段和方法、基本使用和易错场景,最后基于 Mutex 实现一个简单的线程安全的缓存。 Mutex 是保证共享资源数据一致性的重要手段,但使用不当会导致性能下降或死锁等问题。因此,在使用 Mutex 时需要仔细考虑代码的设计和并发场景,发挥 Mutex 的最大作用。
- 本文主要介绍了 `Go` 语言中的 `select` 语句。先是介绍语法,然后根据示例介绍了基本用法,接着介绍与channel结合使用的场景,最后总结使用的注意事项。 本文主要介绍了 `Go` 语言中的 `select` 语句。先是介绍语法,然后根据示例介绍了基本用法,接着介绍与channel结合使用的场景,最后总结使用的注意事项。
- 本篇文章主要介绍了使用 Go slice 的过程中可能会遇到的陷阱以及如何避免这些错误,帮助读者更好地使用 Go slice。 本篇文章主要介绍了使用 Go slice 的过程中可能会遇到的陷阱以及如何避免这些错误,帮助读者更好地使用 Go slice。
- 本篇文章对 `fmt` 标准库的常用输出函数进行了介绍。输出函数分三类介绍,第一类是输出到输出流里,第二类是标准输出,第三类是输出到字符串里。并给出简单的示例代码。 本篇文章对 `fmt` 标准库的常用输出函数进行了介绍。输出函数分三类介绍,第一类是输出到输出流里,第二类是标准输出,第三类是输出到字符串里。并给出简单的示例代码。
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考
2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本
2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签