静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言
上节课我们实现了商品模块中商品分类相关的功能,这节我们继续商品模块的开发来实现商品详细相关的功能,这些功能在我们梳理出来的功能用例中,我用标记了出来。
注意,这是一篇旧文章,Golang可能会取消runtime.SetFinalizer,使用runtime.AddCleanup 替代。它解决了 runtime....
Go 1.24 引入了许多工具方面的重要更新,这些更新让开发者在管理依赖、调试问题以及编写更高质量代码时变得更加高效。尽管人们通常会将注意力集中在标准库或语言特...
这种设计允许现有代码无需修改即可通过实验性标志启用 swiss map,同时保留了旧版哈希表的内存布局兼容性。当前gotip(go1.24-3f4164f5) ...
当我们尝试去优化代码的性能时,首先得知道当前的性能怎么样,得到一个基准性能。Go语言标准库内置的 testing 测试框架提供了benchmark的能力。本文主...
在 go语言中,正常的 struct 一定是需要占用一块内存的,但是有一种特殊情况,如果是一个空struct,那么它的大小为0. 这是怎么回事,空struct ...
我们都知道,Go有一个很重要的特点,那就是它的编译速度非常快,编译速度是Go语言设计的时候就重点考虑[1]的问题. 但是您有没有观察过Go语言编译后的二进制可执...
也可以在 golangci-link 中使用它,fieldalignment 是隶属于 govet 的一个子功能,在 .golangci.yaml 中可以这样启...
reflect[1] 为 Go 语言提供了运行时动态获取对象的类型和值以及动态创建对象的能力。反射可以帮助抽象和简化代码,提高开发效率。Go 语言标准库以及很多...
最大的缺点就是所有的Go图书、资料需要更新,并且对于新人来说,可能需要理解这个概念,因为它跟其他语言的实现都不太一样。并且这个改动,会涉及很多代码,包括go s...
从诸多方面来看,2009 年为我未来的职业生涯埋下了伏笔。那时我 13 岁,刚在一场竞技足球赛里打进了人生中的第一粒进球。那是一次精彩的二过一配合,最后我一记大...
channel 可以使用 range 迭代 .但是一旦读取不到内容,range 就会等待 channel 的写入,而 range 如果正好在 goroutine...
以前,我写过一篇文章介绍runtime.SetFinalizer 这个函数,用于在对象被清理的时候调用,但是这个函数有一些问题,导致它的使用频率比较低。
Golang 在1.24 中带来了一个新的std-lib weak。 可以为*T 创建一个安全的引用,但是不会阻止*T 被GC 回收。
原文:Avoiding high GC overhead with large heaps 当分配的内存量相对较小时,Go垃圾收集器 (GC) 工作得非常好,但...
那么如何能更高效地捕捉到应用的性能瓶颈点呢? 我们可以通过部署agent或者其他方式,通过查询应用外部特征而获取的探针类(probing)数据(比如查看应用某端...
在 Go 语言的开发过程中,控制结构作为程序的核心组成部分,承担着程序流程的调控任务。无论是简单的条件判断,还是复杂的循环控制,恰当使用控制结构能有效提高代码的...
文章链接:https://www.nature.com/articles/s41467-024-48005-w
用户可能已经了解了一些爬虫的基础知识,现在想用Go来实现更高效或更复杂的任务。Resty是一个HTTP客户端库,适合处理请求,但下载视频需要考虑不同的因素,比如...