为了账号安全,请及时绑定邮箱和手机立即绑定

go 的 len() 和 make() 函数是如何工作的?

go 的 len() 和 make() 函数是如何工作的?

Go
尚方宝剑之说 2021-09-13 14:39:53
golen()和make()函数是如何工作的?由于该语言缺乏对泛型和函数重载的支持,我不知道这怎么func len(v Type) int可能。也是如此func make(Type, size IntegerType) Type。我似乎无法在 go 源代码中找到该函数,我设法找到的最接近的是这个
查看完整描述

2 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

lenmake功能是语言规范的一部分,内置的编译器。对内置函数的运行时支持在运行时包中

文件builtin.go仅用于文档。它没有编译。


查看完整回答
反对 回复 2021-09-13
?
Helenr

TA贡献1780条经验 获得超4个赞

由于 Go 的严格类型,编译器总是知道你传递给len函数的类型,因此它会为不同的类型传递给不同的函数,这可以在编译时确定。在大多数情况下,您试图获取切片的长度,在这种情况下,该len函数只需要返回该len切片结构的字段(因为切片实际上是一个结构);字符串相同。

编译器有各种各样的技巧,编译器生成的汇编代码很少遵循您键入的完全相同的逻辑。


查看完整回答
反对 回复 2021-09-13
  • 2 回答
  • 0 关注
  • 268 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信