首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Go
AyanoKyouji
创建于2023-12-13
订阅专栏
Go 语言基础知识
等 5 人订阅
共10篇文章
创建于2023-12-13
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Go map 内部原理
map被定义为存储键值对集合的数据结构,其中单个键与单个值相关联。它提供了一种基于唯一标识符(键)存储和检索数据的有效方法。Go 语言中提供了一个实现了哈希表的内置map类型。
Go 接口值(P3):动态分派的时机
动态分派需要在运行时中根据动态地确定应该调用哪个方法。但问题是在运行时确定具体调用方法的时机是什么时候?是方法调用的时候动态确定呢,还是在将具体类型赋值给接口的时候呢?
Go 接口值(P2):动态分派与接口表
Go 不仅会维护一个类似于 vtable 的表,还会像 Smalltalk 和 Python 那样使用缓存来提高效率。而这个表即是接口表,它是 Go 中非空接口的动态分派的重要实现机制。
Go 接口值(P1):动态类型与动态值
在讨论 Go 接口时,我们通常会首先关注接口类型本身的定义与使用。然而,仅仅理解接口的声明是不够的。我们有必要进一步探讨它背后运作的核心机制,尤其是接口值这一概念。
Go 函数(其一),函数类型与函数值
函数值是一种特殊的值,它使得函数能够被作为一种值进行操作,可以将其赋值给变量、作为参数传递给其他函数或从函数中返回。其本质上是一个指针,但它并不是直接指向函数地址,而是指向funcval结构体
Go 结构体(补充):计算结构体大小
结构体的大小并不是在内存分配时确定的。作为一门编译型的静态语言,Go 在程序运行之前需要经过编译器的处理。在这个过程中,Go 编译器会直接计算出结构体的大小,并非等到内存对齐阶段才确定。
Go 结构体(其四):结构体与内存对齐
内存对齐是计算机系统中的一个重要概念,用于指定数据在内存中存放的起始位置。通过对数据进行对齐,可以最大程度地提高内存访问的效率,从而提升程序的性能。
Go 结构体(其三):结构体比较
Go 语言中结构体的比较,重点在于确定结构体之间的相等性,而不是大小比较。尽管某些情况下可能需要比较结构体的大小,这取决于具体的应用场景和需求。然而,在一般情况下,我们更关注结构体之间的相等性。
Go 结构体(其二):结构体与嵌入
在 Go 语言中,嵌入和面向对象的继承有一些相似之处,但也存在一些重要的区别。嵌入是通过将一个类型嵌入到另一个类型中来实现的.....
Go 结构体(其一)
在 Go 语言中,结构体的定义是构建复合数据结构的基础。当我们使用 Go 进行编程时,常常会使用结构体类型来组织和表示数据。