首页 > 后端开发 > Golang > 为什么 Go `time` 包使用无实现的 `startTimer` 函数?

为什么 Go `time` 包使用无实现的 `startTimer` 函数?

DDD
发布: 2024-12-18 17:21:10
原创
253 人浏览过

Why Does the Go `time` Package Use an Implementation-less `startTimer` Function?

没有函数体的函数调用

当浏览“time”包的代码来检查函数 After(d Duration)

startTimer 函数似乎没有实现自己的:

问题:

  1. startTimer的实际代码在哪里?
  2. 为什么会有一个“抽象方法” ?
  3. Go 开发者这样做有什么原因设计?

答案:

  1. 实际代码位置:

    startTimer的代码在下面的汇编例程中定义:

  2. Go 中的抽象方法:

    Go 中,函数声明可以省略函数体。这些声明仅指定在 Go 外部实现的函数的签名,例如B. 作为汇编例程。

  3. 设计原因:

    并不是所有的编程语言都能完全表达自己的运行时。 Go 运行时和标准库的一部分是用 C 编写的,一部分是用汇编程序编写的,其他部分是用“.goc”编写的,“.goc”是 Go 和 C 的未完整记录的混合。

以上是为什么 Go `time` 包使用无实现的 `startTimer` 函数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板