Frequently Asked Questions:Effective Go,文档,引用或者值类型

304 阅读2分钟

这是我参与更文挑战的第10天,活动详情查看: 更文挑战

Go的编码风格有什么推荐吗?

虽然我们没有明确的编码风格指南,但是有一些约定俗成的“Go style”。

Go在命名、布局和文件组织上有一些惯例。Effective Go网站中包含关于这些内容的建议。 更进一步,程序go fmt是一个很棒的格式组织器,其目的是强制规范代码风格; 目前GO仓库中的代码以及开源代码绝大多数都是通过go fmt进行规范风格的。

convention n 惯例 会议 协定
compendium n 概要
interpretation n 解释 说明

Go的库文档是怎么组织的?

在Go中有个程序”Godoc“,它能从源代码中提取包的文档(就是注释),并且能够生成一个网站进行访问。 在golang.org/pkg运行。 事实上这个网站就是Godoc实现的。

可以配置Godoc,来显示你程序中一些符号、静态分析等更多详细内容,实现方法可以参考golang.org/lib/godoc/a…

想要从命令行访问文档,Go tool具有DOC子命令,可提供一些文本接口。

textual 原文的,文本的
interactive 互动的,交互的

为什么maps、slices、channels都是引用,而arrays确实值类型?

这个话题讨论很久了。 早期,maps和channels是语法指针,并且不可能声明或使用非指针实例。 当然了,我们苦恼着arrays应该如何设计。最终我们决定,如果严格分离指针和值,会让语言更难使用,因此更改这些类型的引用,来改变他们关联的值可以解决这些问题。 这一变化为语言增加了一些令人遗憾的复杂性,但对可用性有很大影响。

PS:我觉得根本没回答。。