当前位置: 首页 > 面试题库 >

Go的ctag数据库

许华清
2023-03-14
问题内容

如何为Go源码生成标签文件

在Mac中,我安装了旺盛的ctags,并在源目录中尝试了以下命令

ctags -f gosource.tags -R `pwd`

但是,它不考虑* .go文件。我必须使用-h选项吗?但是,按照手册,它不是​​仅用于头文件吗?

请给我正确的命令,以便我可以在vim中使用标签文件。我也更喜欢绝对路径,这样我就可以将文件保存在任何地方

谢谢。

编辑:我假设当前的ctags支持Go,请参阅http://groups.google.com/group/golang-
nuts/browse_thread/thread/3a4848db231b02c9

但是,http:
//ctags.sourceforge.net/languages.html尚未列出。


问题答案:

将以下内容添加到〜/ .ctags

--langdef=Go
--langmap=Go:.go
--regex-Go=/func([ \t]+\([^)]+\))?[ \t]+([a-zA-Z0-9_]+)/\2/d,func/
--regex-Go=/var[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/d,var/
--regex-Go=/type[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/d,type/

(摘自http://go-wise.blogspot.com/2011/09/using-ctags-with-go.html)



 类似资料:
  • 使用gorm出现 Error 1054 (42S22): Unknown column 'created_at' in 'field list',这个貌似是框架自带的一些字段,导致我的新增异常,接口500,大家是怎么解决这个问题的呢?

  • 在 Go 编程语言中,数据类型用于声明函数和变量。 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。 Go 语言按类别有以下几种数据类型: 序号 类型和描述 1 布尔型 布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。 2 数字类型 整型 int 和浮点型 float32

  • 我需要一个(,)对的队列。这很简单: Go中是否有内置的对/元组数据类型?支持从函数返回多个值,但AFAICT,生成的多个值元组不是Go类型系统中的一等公民。是这样吗? 至于“你尝试过什么”部分,显而易见的语法(来自Python程序员的POV) 没有工作。

  • 在必要以及可行的情况下,一个类型的值可以被转换成另一种类型的值。由于Go语言不存在隐式类型转换,因此所有的类型转换都必须显式的声明: valueOfTypeB = typeB(valueOfTypeA) 类型 B 的值 = 类型 B(类型 A 的值) 示例: a := 5.0 b := int(a) 类型转换只能在定义正确的情况下转换成功,例如从一个取值范围较小的类型转换到一个取值范围较大的类型(

  • C 语言中数据可以隐式转换或显示转换,但是 Go 语言中数据 只能显示转换 C 语言隐式转换 #include <stdio.h> int main(){ // 隐式转换:自动将实型10.6转换为整型后保存 int a = 10.6; // 自动类型提升: 运算时会自动将小类型转换为大类型后运算 double b = 1.0 / 2; // 等价于1.0 / 2.0 }

  • 本文向大家介绍使用go实现常见的数据结构,包括了使用go实现常见的数据结构的使用技巧和注意事项,需要的朋友参考一下 1 golang常见数据结构实现 1.1 链表 举单链表的例子,双向链表同理只是多了pre指针。 定义单链表结构: 构造链表及打印链表: 1.2 可变数组 可变数组在各种语言中都非常常用,在golang中,可变数组语言本身已经实现,就是我们的切片slice。 1.3 栈和队列 1.3