gpt4 book ai didi

go - 可执行文件 ("main"包中的公共(public)名称)

转载 作者:IT王子 更新时间:2023-10-29 00:47:35 27 4
gpt4 key购买 nike

据我了解,大写的名称在导入包时被导出(公共(public))。但是,由于可执行文件(“主”包)是运行的而不是被其他包导入,那么名称是否公开有什么区别呢?原则上我应该将所有名称设为私有(private)吗?

最佳答案

简短的回答是:没关系。也许在汇编级别上可能有一个暴露的指针;但是,还没有说明。

实际上,关于 godoc 和公开(大写)字母的评论是错误的。对于可执行文件(package main),godoc 只打印包的//头描述。它不会打印任何方法。我最近尝试了这个,想知道我的所有文档在哪里。

相反,人们为 package main 应用程序所做的是将一个名为 doc.go 的文件添加到他们的包中。由于 godoc 规范允许您在任何文件中的任何位置修饰 package main,因此您可以在此处编写所有文档,在此 doc.go 文件中,如下所示:

/* This executable serves a special purpose 
and that is say Hello World when it is run.

A tip for writing comments in go is to use
line-break, text, line-break to make headers,
like this.

This Is A Header

And the sub-text to the header goes here.

Also note that you can create indented
code with 4 spaces...

Like this.
And this.

And the above will be printed as code
blocks in -html output.

*/
package main

请注意,上面的文本修饰了文件末尾的 package main。这就是这个 doc.go 项目中的所有文本。

当您运行 go doc . 时,它将读取此文件以获取输出。

此外,当您运行主应用程序并使用 -h 或 -help 时,此文本也会呈现到控制台。尽可能详细地帮助用户。

编辑:正如 James 提到的,是的,您可以导入其他主要包。但这首先偏离了 Go 的惯用性质。 Go 的文档甚至说,为了提高可读性,复制代码是完全没问题的。这对我来说也很难接受,来自 .NET 并使用 DRY 原则。

关于go - 可执行文件 ("main"包中的公共(public)名称),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25050128/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com