摘要: 在 Go 语言中,不是所有对象都能获取它们的地址。能否获取对象的地址取决于对象的类型和存储位置。下面我们详细讨论哪些对象可以获取地址,哪些不行,以及设计背后的原因。 可以获取地址的对象 变量(包括局部变量、全局变量、结构体字段): 值类型变量:例如 int, float64, bool 等基本数据类 阅读全文
posted @ 2024-10-03 22:13 daligh 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 在Go语言中,方法可以为用户自定义的类型添加新的行为。与函数不同的是,方法有一个特殊的接收者。接收者可以是值类型,也可以是指针类型。根据接收者的不同,方法的行为也有所不同。理解值接收者和指针接收者的区别,对于编写高效且合理的Go代码至关重要。 值接收者与指针接收者的基本概念 值接收者:方法在调用时使 阅读全文
posted @ 2024-10-03 19:30 daligh 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 在现代编程语言中,垃圾回收器(Garbage Collector, GC)是内存管理的重要工具,它帮助开发者自动回收不再使用的内存对象。然而,随着并发编程的广泛应用,程序在运行过程中会不断修改对象的引用关系,这对垃圾回收器提出了新的挑战。为了解决这一问题,写屏障(Write Barrier)应运而生 阅读全文
posted @ 2024-10-03 16:57 daligh 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 摘要 本文将深入探讨垃圾回收机制在现代软件开发中所扮演的角色,包括它为开发者带来的便利以及伴随而来的挑战。通过分析 GC 的优缺点,我们将帮助读者理解何时何地使用 GC 可以最大化其益处,并减少潜在的负面影响。 正文 (1) 垃圾回收的优势 屏蔽内存回收的细节 拥有 GC 能力的语言能够自动处理内存 阅读全文
posted @ 2024-10-03 00:03 daligh 阅读(12) 评论(0) 推荐(0) 编辑