godoc使用教程

注释规范

  • 注释符//后面要加空格, 例如: // xxx

      在注释符要缩进的话,第二行注释符后面的空格要比上一行的空格多一个example:// 123//  123
    
  • 注释要紧跟package、const、type、func这些关键字,这样子才会被显示

      // 功能: 函数H的注释//  参  数://      h1  : 说明参数值//       h2  : 运算的数字//  返回值://       reValue     : 返回值//你会发现函数H的功能注释没有显示,这是因为功能函数注释与关键字func之间空了一行func H(h1 string, h2 string) (reValue string) {fmt.Println(h1, h2)return h1}
    
  • package的注释最好不好超过3行,不过就算超过3行也没有关系。这里只是做一个规范而已。如果对于pkg描述的注释有很多行的时候,我们可以新建一个doc.go,这个文件用于对package包的描述

  • 同一目录下的包可以由很多个文件组成,如果每个文件都有对package进行注释的话,godoc会自动将所有注释"按照文件名的字母数序"进行合并

      详细等会看实例文件
    
  • 在无效注释中以BUG(who)开头的注释, 将被识别为已知bug, 显示在bugs区域

      // BUG(who): 因为前面有BUG(who)这个关键字,所以这句注释就算没有紧跟关键字不会被隐藏掉
    

在终端查看

在终端,进入要查看的包的目录go doc显示当前包的文档
这里查看的是包名的文档,以及所有的函数名字跟变量类型名

example:go docterminal show:package test // import "test/testdoc"这个是a.go的包名的描述At 20191017 by Baiyu---a.go end---这个是在doc.go 文件中的内容在Go的源代码中在Mac系统中在类Unix系统中在Windows系统中---doc.go end---这个是在testgodoc.go文件的内容 package Name: testdescribe:    程序的入口---testgodoc.go end---这个是z.go 的包名描述---z.go end---const Email ...const Baiyu = "baiyu"func H(h1 string, h2 string) (reValue string)func Test(param1 string, inter int) (k string)func Z()type Computer struct{ ... }type Person struct{ ... }BUG: 这个注释会生成在文档最后后面,同时因为紧跟着fun Z,所以在上面的func列表里面也有显示功能: 生成Z签名BUG: 因为前面有BUG(who)这个关键字,所以这句注释就算没有紧跟关键字不会被隐藏掉BUG: BUG(6):格式正确,所以这句注释就算没有紧跟关键字不会被隐藏掉,前面的BUG():、BUG6:、BUG:都是不正确的BUG(who)命名

go doc <pkg>.<func>查看pkg包下面的func函数的注释

example:go doc test.Testterminal show:package test // import "test/testdoc"func Test(param1 string, inter int) (k string)功能: 测试函数参  数:param1  : 说明参数值inter   : 运算的数字返回值:k       : 返回值

如果想查看完整的源码go doc -src <pkg>.<func>

example: go doc -src test.Test terminal show:package test // import "test/testdoc"// 功能: 测试函数//  参  数://      param1  : 说明参数值//      inter   : 运算的数字//  返回值://      k       : 返回值func Test(param1 string, inter int) (k string) {fmt.Println("测试函数")return param1}

在浏览器上查看

使用命令godoc -http=:6060
然后在打开浏览器的,在url输入localhost:6060/pkg或者127.0.0.1:6060/pkg就可以查看到你本地的所有包的信息了

如果你想要找到你特定的包名的话localhost:6060/pkg/<path>/<packageName>或者127.0.0.1:6060/pkg/<path>/<packageName>

<path>是你/src下包所在的路径

<packageName>是包名

导出godoc文档为HTML

使用命令godoc -url "http://localhost:6060/pkg/<pkg>/<packageName>/" > <packageName>.html

<pkg>是你包所在的文件夹

<packageName>是你的包名

导出来的是纯html文件,没有样式表,不过也有可能可以导出,但是我目前没有找到,如果有找到的朋友也可以交流一下

不过我也有把对应的样式文件给导出来了

下载地址https://github.com/BaiYu96/golandLearn/tree/master/learn_doc/stylefile

然后把html文件里面的css跟js指定的路径修改好就可以

教程示例文件

下载地址https://github.com/BaiYu96/golandLearn/tree/master/learn_doc/test

把test文件夹放到你$GOPATH/src/目录下

go语言学习笔记——godoc的使用(超详细,含示例文件)相关推荐

  1. 10-1Python学习笔记 10-2C语言学习笔记 : 在文本编辑器中新建一个文件, 写几句话来总结一下你至此学到的Python知识

    10-1 Python学习笔记 : 在文本编辑器中新建一个文件, 写几句话来总结一下你至此学到的Python知识, 其中每一行都以"In Python you can"打头. 将这 ...

  2. matplotlib学习笔记——入门版(超详细)

    最近才肝完的matplotlib入门教程,学习笔记顺便写上.欢迎大家在评论区补充.提问-- print('--------------------------------------------mat ...

  3. 学习笔记(06):2019网络安全超详细入门教程-基本命令

    立即学习:https://edu.csdn.net/course/play/25182/295582?utm_source=blogtoedu

  4. TypeScript 学习笔记(十万字超详细知识点总结)

  5. 【Go语言 · 学习笔记】

    文章目录 Go语言 · 学习笔记 一.Go包管理 1. 什么是Go语言中的包 2. 包的命名 3. main包 4. 导入包 5. 远程包导入 6. 命名导入 7. 包的init函数 二.Go开发工具 ...

  6. 梓益C语言学习笔记之链表&动态内存&文件

    梓益C语言学习笔记之链表&动态内存&文件 一.定义: 链表是一种物理存储上非连续,通过指针链接次序,实现的一种线性存储结构. 二.特点: 链表由一系列节点(链表中每一个元素称为节点)组 ...

  7. 6.方法(go语言学习笔记)

    6.方法(go语言学习笔记) 目录 定义 匿名字段 方法集 表达式 1. 定义 方法是与对象实例绑定的特殊函数. 方法是面向对象编程的基本概念,用于维护和展示对象的自身状态.对象是内敛的,每个实例对象 ...

  8. 梓益C语言学习笔记之指针

    梓益C语言学习笔记之指针 一.32位平台下,地址是32位,所以指针变量占32位,共4个字节 二.内存单元的地址即为指针,存放指针的变量称为指针变量,故:"指针"是指地址,是常量,& ...

  9. c语言中void arrout,c语言学习笔记(数组、函数

    <c语言学习笔记(数组.函数>由会员分享,可在线阅读,更多相关<c语言学习笔记(数组.函数(53页珍藏版)>请在人人文库网上搜索. 1.数组2010-3-29 22:40一维数 ...

最新文章

  1. 初学Python,我给你总结了常见的17个错误
  2. 预测过去?DeepMind用AI复原古希腊铭文,登Nature封面
  3. Error: Could not find or load main class org.apache.spark.deploy.yarn.ExecutorLauncher
  4. 12) 十分钟学会android--APP通信传递消息之简单数据传输
  5. js——window.open用法
  6. spring源码:循环依赖源码学习
  7. 单片机音频谱曲软件_单片机音乐代码转换软件(Music Encode)
  8. 关于彻底卸载流氓 “趋势科技防毒网络版客户端”最详细步骤,亲测有效
  9. 提高工作效率的软件推荐——我的ABC软件工具箱 6.0 最新版上线啦
  10. 复盘模型_如何运用MT4软件进行复盘,提高水平
  11. 屏幕小于6英寸的手机_6寸手机好不好用 手机屏幕尺寸多大合适
  12. 如何长久维持远距离恋情?
  13. 使用财务系统所用到的会计基础知识(一)
  14. 【蓝桥杯大赛】简单回忆一下我的蓝桥杯比赛历程
  15. python爬取58同城租房信息_分页爬取58同城租房信息.py
  16. ubuntu中进行复制粘贴
  17. 【低功耗蓝牙】⑤ 蓝牙HID协议
  18. matlab目标跟踪物流应用,目标跟踪系统的MATLAB 源程序包
  19. PWA——下一代的web应用模型
  20. 暑假出游 |近视配镜首选变色镜片

热门文章

  1. 钉钉微应用PC端开发
  2. 数据仓库实践杂谈-(二)-数据分层
  3. pip安装tensorflow报错:could not find a version that satisfies the requirement grpcio>=1.8.6
  4. 【无标题】2022施工员-设备方向-通用基础(施工员)考试试题及模拟考试
  5. 解决Cannot allocate memory服务器内存不足问题
  6. vba 统计Word 字数、页数等信息
  7. 菜鸟的草缸 篇二:开缸种草篇
  8. luogu1498:南蛮图腾:分治?复制!
  9. 分享CFA考试必须杜绝的违规行为!
  10. 移动端事件及事件应用