go 查看全局安装了哪些包_GO 文档笔记
前言
最开始写 GO 的时候, 发现方法的注释并不支持@param, @return等参数, 搞得我都不知道该如何给自己的方法写文档说明了. 而且网上搜了搜也没有搜到教程, 甚是郁闷.
今天找到了GO内置的文档工具: godoc. (我用的1.14.3版本貌似不是自带工具了, 需要安装(配置代理): go get golang.org/x/tools/cmd/godoc)
运行命令: godoc -http=:8888. 可以直接在本地浏览器访问8888端口, 查看这个运行在本地的文档服务: localhost:8888. 能够看到所有官方包的文档. 而这些文档内容都是从官方代码包中读取的.
这个文档工具不光能够检测官方文档, 还能够检测自己的项目, 只要将项目配置到GOPATH下即可.
既然人家官方代码能生成文档, 那就说明是有文档生成格式的呀. 既然我不知道如何写文档, 抄官方的样式不就行了么? nice. 以下是我多处借鉴后, 总结的 GO 文档书写规则.
文档
经过测试, GO 的文档格式, 全局变量/常量/函数/结构体/接口/包等等, 声明格式都一样, 会读取对应内容上方紧跟着的注释内容. 所以就对文档格式统一介绍即可.
文档格式
书写格式
文档的书写影响其展示形式, 如下所示:
/*这是一个展示文档作用的包.A 标题这里的标题为首字母大写, 且后面没有标点.如果没有空行, 则文档不会换行.B标题二GO 的文档工具只识别首字母大写, 不识别中文, 有点难受. 开头空格标识缩进 */// 同时, 也可以写成多个单行注释的形式package doc
展示形式:
对于包的说明文档, 因为包下每个文件都有package doc 这段代码, 如果包下有多个文件都对此包进行了说明, 文档会将所有说明拼接到一起. 可以单独建一个doc.go的空文件, 专门用来写包文档. (fmt 包就是这么搞的)
全局变量/常量/方法/结构体
全局变量/常量/方法/结构体等内容, 文档会对其进行归类, 只要将说明加到其上方即可. 简单写个常量看看, 其他同理:
// test constconst TestConst = "const"
示例代码
与写单元测试类似, 新建一个example_test.go文件. 在其中写 demo 函数, 会检测同名以Example开头的函数:
package docimport ( "fmt")func ExampleDemoTest() { DemoTest() // OutPut: // 没有返回值}// 多个 demo, 下划线后拼单词或数字func ExampleDemoTest_2() { DemoTest()}// 包 demo, 对于没有指定方法的, 会识别为这个包的例子func Example() { fmt.Println("aaaa") // OutPut: // none}// 包 demo2func Example_2() { fmt.Println("bbb")}
godoc检测示例代码:
文档关键字
那 GO 的注释中有没有文档用到的关键字呢? 有, 简单写几个.
BUG
可以对 bug 进行描述, godoc会自动识别并标识出来:
// BUG(hujing): 对 bug 的描述信息
Deprecated
已弃用的标识, 这个关键字看的太多了, 不过godoc并不会识别这个关键字, 主要是编译器识别.
// Deprecated: 请使用 DocDemoNew 方法
注意
- 文档注释与对应内容之间不能有空行.
- godoc只会对公共内容生成文档, 私有内容不会展示.
GO的文档还有更多, 这里只是简单的整理一下, 对于之后写项目基本够用了, 再也不会在写 GO 文档的时候懵逼了. GO 既然已经提供了godoc这么好的工具, 那写文档就更是义不容辞的工作了.
がんばる!!!
go 查看全局安装了哪些包_GO 文档笔记相关推荐
- go 写文件_GO 文档笔记
前言 最开始写 GO 的时候, 发现方法的注释并不支持@param, @return等参数, 搞得我都不知道该如何给自己的方法写文档说明了. 而且网上搜了搜也没有搜到教程, 甚是郁闷. 今天找到了GO ...
- go 查看全局安装了哪些包_如何用 GVM 管理 Go 项目
使用 Go 版本管理器管理多个版本的 Go 语言环境及其模块. -- Chris Collins(作者) Go 语言版本管理器( GVM )是管理 Go 语言环境的开源工具.GVM "pkg ...
- windows7安装中文语言包及文乱码问题解决方法
[http://youzitool.com 新博客,欢迎访问] windows7安装中文语言包及文乱码问题解决方法 安装中文语言包 1.最近安装了windows7英文版,如果要使用中文语言,可通过&q ...
- Nagios安装部署与Cacti整合文档超精细版本
Nagios安装部署与Cacti整合文档超精细版本 (2011-06-01 01:28) 分类: nagios监控 Nagios安装部署与Cacti整合文档 系统环境:CentOS5.4 文档版本:V ...
- 在Linux 安装Python3.5.6详细文档!!!!
在Linux 安装Python3.5.6详细文档!!!! 1.安装相关依赖库(工具包) yum install gcc patch libffi-devel python-devel zlib-de ...
- CentOS 7.4 安装部署 hadoop 2.6 文档 V1.3
########################################################################## ################ CentOS 7 ...
- 如何在线查看Android源码自带学习文档
如何在线查看Android源码自带学习文档docs Android源码编译系列博客: Android.bp你真的了解吗 Android.bp入门指南之Android.mk转换成Androi ...
- 容器环境下如何将NuGet包XML文档添加到Swagger
容器环境下将NuGet包XML文档添加到Swagger 在.NET Core项目开发过程中,为了实现代码复用,我们将可以重复使用的部分拆分成一个个小的NuGet包.这些NuGet包可以在其他系统中复用 ...
- Remix-IDE安装开发环境与使用文档(Windows环境)
最近一直使用Remix浏览器写合约,但是Remix不知哪一时刻就会崩,遇到很多次了,怕代码丢失,因此下载安装本地Remix-IDE.当然本地安装的Remix-IDE在使用时也会出现崩溃的情况,但是至少 ...
最新文章
- RPCGEN -M *.x 在pnfsd中的修改。 *_clnt.c
- u2net encode
- BeyondCompare
- 【HTML5】 web上的音频
- Code Access Security (CAS)
- 俄罗斯方块---九宫格版
- FPGA开发全攻略——ISE基本操作
- jsp主板 jtp_最新主板常见故障及解决(新)
- C++ String16与const char*及char*与vector相互转换
- 关于Oracle用sqlldr导入限制值长度大于255问题解决方法
- 永续公债(or统一公债)的麦考利久期(Macaulay Duration)的计算
- xp计算机无法正常启动,修复WindowsXP系统无法正常启动
- 深入理解JavaScript运行机制
- 默认接入点apn显示
- 赴日本护师研修生项目介绍
- 295-光纤数据收发 隔离卡 加速计算卡 基于 Kintex-7 XC7K325T的半高PCIe x4双路万兆光纤收发卡
- loopback address 回送地址
- golang kv存储引擎
- 诗经 - 小雅 - 采芑
- python的读后感_《笨办法学python》读后感
热门文章
- java重写的特性解释
- html 中如何写js代码提示错误,javascript怎么进行错误处理?
- vue 背景透明度_一款媒体小白喜爱的视频编辑软件,vue视频编辑APP,想学就来...
- Android性能优化 - 消除卡顿
- 你应该更新的Java知识
- html盒子移动动画代码,HTML5/Canvas 盒子追踪动画
- java基础,没事常看看(一)类、对象、引用
- 服务器 操作系统安装到sd卡,DELL服务器通过sd卡安装系统(iDRAC Use vFlash ).doc
- html js文件域val,js实现文件上传表单域美化特效
- mysql zookeeper 切换_zookeeper在mysql主库选举切换中的应用