函数名称和原型中的斜杠和点
问题:
Go 源代码中,我们会遇到带有斜杠和点的函数名称和原型。这些符号代表什么,它们是有效的 C 结构吗?
答案:
中点 (·)
中点字符(·)是 Go 内部 C 编译器的扩展,源自 Plan 9 C 编译器。在这种情况下,它充当命名空间分隔符。
示例:
以下代码演示了中点的用法:
<code class="c">void ·Bar1() {} void foo·bar2() {} void foo∕baz·bar3() {}</code>
内部 C 编译器生成以下符号:
T "".Bar1 T foo.bar2 T foo∕baz.bar3
斜杠 (/)
斜杠 (/) 用于分隔 import 语句中的命名空间。
示例:
在以下 import 语句中,空命名空间 "" 替换为包路径:
<code class="go">import examp "path/to/package/example"</code>
的含义Go 代码
中点字符允许开发人员将具有类似 Go 命名约定的函数导出到 C 代码。例如,通过将中点前面的函数的第一个字母大写,它对 Go 代码可见,就像它是在 Go 中定义的一样。
结论
Go 源代码中的斜杠和点是语言扩展,它们提供了函数命名的灵活性并支持 C 和 Go 代码的接口。然而,值得注意的是,这些构造不是标准 C 语法。
以上是Go 的函数名称和原型中的斜线和点表示什么?的详细内容。更多信息请关注PHP中文网其他相关文章!