Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Go语言学习21-程序文档

Go语言学习21-程序文档

原创
作者头像
huazie
发布于 2025-05-07 06:50:42
发布于 2025-05-07 06:50:42
1410
举报
文章被收录于专栏:开发语言-Go开发语言-Go

一、引言

在Go语言中,可以使用 godoc 命令在本机启动一个可被用于查看本机所有工作区中的所有代码包文档的 Web 服务。命令行中输入如下命令并执行:

代码语言:shell
AI代码解释
复制
godoc -http=:9090 –index

在浏览器中就可以像如下输入地址查看:

二、主要内容

2.1 编写程序注释

Go语言在注释风格中融入了 C 语言和 C++ 语言的特点。既可以使用 C++ 语言风格的行注释:

代码语言:go
AI代码解释
复制
// 行注释

又可以使用 C 语言风格的块注释:

代码语言:go
AI代码解释
复制
/*
  块注释
*/

注意: 无论是哪一种风格的注释都不能出现嵌套的情况。

2.2 代码包的注释

每个代码包都应包含一段独立的代码包注释。这段注释应该对当前代码包的功能和用途进行总体性的介绍。按照惯例,代码包注释应该被存放在当前代码包目录下的 doc.go 文件中。在这个 doc.go 文件中,应该有与包中其他源码文件相同的代码包声明语句,并在该声明语句之上以块注释的方式插入代码包注释。

当代码包中仅有一个源码文件的时候,建议源码文件的主文件名与当前代码包的名称相同。当然,如果在代码包中只有一个源码文件或代码包注释比较短,也可以将注释插入到当前代码包同名的源码文件中的代码包声明语句之上。

在标准库中,代码包 fmt 的代码包注释被放在了 $GOROOT/src/fmt/doc.go 中,与其相对应的文档页面如下:

Overview 中出现的就是 fmt 包的代码包注释行,也就是定义在 fmt/doc.go 中的。

2.3 程序实体的注释

在上图中的(带有链接的)Index 栏包含的是当前代码中的所有课导出的程序实体的文档的索引。点击后显示如下信息:

点击其中一个索引 type State 之后页面定位到与该索引相对应的程序实体文档的锚点处。例如:

点击有下划线的 State 处并点击,页面跳转到声明 fmt.State 的源代码处,如下:

程序实体的文档即是它的声明代码以及紧挨在上面的行注释,这里也体现了“代码即注释”的思想。

2.4 常量和变量的注释

Go语言语法允许一次声明一组常量或变量,程序实体声明编写注释如下示例:

代码语言:go
AI代码解释
复制
// IP address lengths (bytes).
const (
    IPv4len = 4
    IPv6len = 16
)

上面代码位于代码包 net 中的源码文件 ip.go。对于这样一组声明来说,对它们的描述统一放在关键字 const(或关键字 var)之上且紧邻的注释行中,而不是分别为每一个常量(或变量)声明添加注释。

三、结语

本篇讲解了 Go 语言程序测试的 程序文档 的知识,后续博文我们开始实操一下 Go 语言,敬请期待!!!。

最后附上国内的 Go 语言社区

Go友团:该社区致力于为Go语言爱好者提供学习与交流的最佳环境。社区的组织者们都非常热爱Go语言,乐于分享,其技术精湛。其中包括了 Beego 的创始人。社区主页地址为: http://golanghome.com

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Go语言学习1-基础入门
本篇介绍 Go 语言的基础入门知识,如下贴出了 Go 语言相关的网站,方便大家学习
huazie
2024/06/14
3020
Go语言学习1-基础入门
《Go语言程序设计》读书笔记 (九) 命令工具集
Go语言的工具箱集合了一系列的功能的命令集。它可以看作是一个包管理器(类似于Linux中的apt和rpm工具),用于完成包的查询、计算的包依赖关系、从远程版本控制系统和下载它们等任务。它也是一个构建系统,计算文件的依赖关系,然后调用编译器、汇编器和连接器构建程序。它被设计成没有标准的make命令那么复杂。它也是一个单元测试和基准测试的驱动程序。
KevinYan
2020/02/17
4960
02 . Go语言的变量,常量,作用域
变量是几乎所有编程语言中最基本的组成元素,从根本上来说,变量相当是对一块数据存储空间的命名,程序可以通过定义一个变量来申请一块数据存储空间,之后通过引用变量名来使用这块存储空间
iginkgo18
2020/09/27
1.1K0
02 . Go语言的变量,常量,作用域
Go 包概念及其机制详解&内置工具使用简介 【Go语言圣经笔记】
现在随便一个小程序的实现都可能包含超过10000个函数。然而作者一般只需要考虑其中很小的一部分和做很少的设计,因为绝大部分代码都是由他人编写的,它们通过类似包或模块的方式被重用。
Steve Wang
2021/12/06
1.7K0
Go 包概念及其机制详解&内置工具使用简介 【Go语言圣经笔记】
如何写高大上的 godoc(Go 文档)
注:本文内容已较为过时,请读者移步笔者的新文章:《作为 Gopher,你知道 Go 的注释即文档应该怎么写吗?》
amc
2019/10/24
11K2
如何写高大上的 godoc(Go 文档)
Go语言实战笔记(三)| Go Doc 文档
对于协作开发或者代码共享来说,文档是一个可以帮助开发者快速了解以及使用这些代码的一个教程,文档越全面,越详细,入门越快,效率也会更高。
飞雪无情
2018/08/28
1.2K0
Go语言实战笔记(三)| Go Doc 文档
Go 语言学习之 go tool
在 Go 语言中,为了方便工程师写程序,提供了一些内置命令行工具,例如 fmt 可以格式化代码,统一代码风格;vet 检测代码的常见错误;build 编译代码,生成可执行程序;run 编译并立即执行可执行程序......
frank.
2020/08/17
2.5K0
作为Gopher,你知道Go的注释即文档应该怎么写吗?
导语 | Go一直奉行“注释即文档”的概念,在代码中针对各种public内容进行注释之后,这些注释也就是对应内容的文档,这称为GoDoc。那么作为gopher,你知道GoDoc应该怎么写吗? 引言 刚入门Go开发时,在开源项目的主页上我们经常可以看到这样的一个徽章: 点击徽章,就可以打开https://pkg.go.dev/的网页,网页中给出了这个开源项目所对应的Go文档。在刚接触Go的时候,我曾一度以为,pkg.go.dev上面的文档是需要开发者上传并审核的——要不然那些文档咋都显得那么专业呢。 然而当
腾讯云开发者
2022/04/07
1.2K0
作为Gopher,你知道Go的注释即文档应该怎么写吗?
Go语言学习15-基本流程控制
开始之前,引用一篇《C 调用 Go 动态库》,该文详细介绍了如何将 Go 代码编译成 C 动态库,并通过 C 程序调用 Go 动态库中的函数的过程,有需要的朋友可以试试!
huazie
2024/12/02
1460
Go语言学习15-基本流程控制
GO 文档笔记
最开始写 GO 的时候, 发现方法的注释并不支持@param, @return等参数, 搞得我都不知道该如何给自己的方法写文档说明了. 而且网上搜了搜也没有搜到教程, 甚是郁闷.
烟草的香味
2020/07/23
1.1K0
GO 文档笔记
Golang 命令
go buildgo build 命令用于编译我们指定的源码文件或代码包以及它们的依赖包。go build [-o output] [-i] [build flags] [packages] -a 强行对所有涉及到的代码包(包含标准库中的代码包)进行重新构建,即使它们已经是最新的了。 -n 打印编译期间所用到的其它命令,但是并不真正执行它们。 -p n 指定编译过程中执行各任务的并行数量(确切地说应该是并发数量)。在默认情况下,该数量等于CPU的逻辑核数。但是在darwin/arm平台(即iPhone和iP
李海彬
2018/03/27
1.2K0
go语言快速入门——helloworld程序
下面,我们需要对这个hello,world程序做一个基本的解释,首先是包,然后是函数
zy010101
2022/07/27
3320
实效go编程--1
实效Go编程 版本:2013年12月22日 引言 示例 格式化 注释 命名 包名 获取器 接口名 驼峰记法 分号 控制结构 If 重新声明与再次赋值 For Switch 类型选择 函数 多值返回 可命名结果形参 Defer 数据 new 分配 构造函数与复合字面 make 分配 数组 切片 二维切片 映射 打印 追加 初始化 常量 变量 init 函数 方法 指针 vs. 值 接口与其它类型 接口 类型转换 接口转换与类型断言 通用性 接口和方法 空白标识符 多重赋值中的空白标识符 未使用的导入和变量 为
李海彬
2018/03/26
1.1K0
Go语言核心36讲(Go语言基础知识二)--学习笔记
我们已经知道,环境变量 GOPATH 指向的是一个或多个工作区,每个工作区中都会有以代码包为基本组织形式的源码文件。
郑子铭
2021/10/13
3550
Go语言核心36讲(Go语言基础知识二)--学习笔记
Go语言核心36讲(Go语言基础知识四)--学习笔记
还记得吗?Go 语言中的程序实体包括变量、常量、函数、结构体和接口。 Go 语言是静态类型的编程语言,所以我们在声明变量或常量的时候,都需要指定它们的类型,或者给予足够的信息,这样才可以让 Go 语言能够推导出它们的类型。
郑子铭
2021/10/14
3400
Go语言核心36讲(Go语言基础知识四)--学习笔记
100天精通Golang(基础入门篇)——第3天:Go语言的执行原理及常用命令、编码规范和常用工具
在学习和使用Go语言过程中,了解其执行原理和常用命令是非常重要的。同时,编写规范的代码和使用常用工具也是提高开发效率和代码质量的关键。本文将深入探讨Go语言的执行原理,介绍常用的命令,以及详细讲解编码规范和常用工具的使用方法。
猫头虎
2024/04/08
6380
100天精通Golang(基础入门篇)——第3天:Go语言的执行原理及常用命令、编码规范和常用工具
[GO语言基础] 二.编译运行、语法规范、注释转义及API标准库知识普及
作为网络安全初学者,会遇到采用Go语言开发的恶意样本。因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识;另一方面是分享与读者,希望大家一起进步。前文介绍了什么是GO语言及为什么我要学习Golang;这篇文章将介绍Go的编译运行、语法规范、注释转义及API标准库知识。 这系列文章入门部分将参考“尚硅谷”韩顺平老师的视频和书籍《GO高级编程》,详见参考文献,并结合作者多年的编程经验进行学习和丰富,且看且珍惜吧!后续会结合网络安全进行GO语言实战深入,加油~
Eastmount
2021/02/20
9700
Go语言基础
Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
刘亦枫
2020/03/19
7690
Go语言学习笔记一 Golang的安装与基础
Go语言是一个静态强类型的语言 Go语言的安装与其他语言有所不同。通过官网下载压缩包(或msi)来自定义文件夹安装。
摸鱼的G
2023/02/22
7260
Go语言学习笔记一 Golang的安装与基础
Go语言实战: 编写可维护Go语言代码建议
大家好, 我在接下来的两个会议中的目标是向大家提供有关编写Go代码最佳实践的建议。
李海彬
2018/12/13
1.9K0
推荐阅读
相关推荐
Go语言学习1-基础入门
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档