4

文档很棒,但有时很难找到特定的关键字。例如,Next()在此页面http://golang.org/search?q=next%28%29中搜索结果并不是很有帮助。有没有更好的方法来搜索文档?

4

3 回答 3

4
  • 不要在查询中包含括号。
  • 仅通过首字母大写来搜索导出的标识符。

搜索Next获得更好的结果集 IMO。

顺便说一句,旧的技术仍然很强大;-)

jnml@fsc-r630:~/go/src/pkg$ egrep -nr '^func \([^)]+\) Next\(' *
archive/tar/reader.go:42:func (tr *Reader) Next() (*Header, error) {
bytes/buffer.go:273:func (b *Buffer) Next(n int) []byte {
container/ring/ring.go:26:func (r *Ring) Next() *Ring {
container/list/list.go:31:func (e *Element) Next() *Element {
database/sql/fakedb_test.go:658:func (rc *rowsCursor) Next(dest []driver.Value) error {
database/sql/sql.go:1300:func (rs *Rows) Next() bool {
debug/dwarf/entry.go:310:func (r *Reader) Next() (*Entry, error) {
net/smtp/auth.go:75:func (a *plainAuth) Next(fromServer []byte, more bool) ([]byte, error) {
net/smtp/auth.go:99:func (a *cramMD5Auth) Next(fromServer []byte, more bool) ([]byte, error) {
net/textproto/pipeline.go:36:func (p *Pipeline) Next() uint {
reflect/all_test.go:3390:func (x *exhaustive) Next() bool {
text/scanner/scanner.go:302:func (s *Scanner) Next() rune {
jnml@fsc-r630:~/go/src/pkg$ 
于 2013-07-13T10:12:34.583 回答
3

Rob Pike 为此编写了完美的工具。安装它go

go get code.google.com/p/rspace.cmd/doc

然后,您可以说doc next(或doc Next)并获得Next所有包中的功能列表,以及它们的文档和签名。如果您知道包的名称,您可以说doc sql nextdoc sql.next。您甚至可以通过-url在线获取该文档的 URL,或-src获取用于实现该符号的文件名和行号。

您可以使用 : 访问包文档(出现在包页面顶部且不属于其任何项目的文档-pkgdoc -pkg json

doc搜索所有内容,您可以将其限制为仅搜索函数、接口、变量等。不带参数运行它以获取文档。

这是一个很棒的工具。用 Go 编写代码时,请保持关闭状态。

于 2013-07-13T11:00:54.913 回答
2

这很好用:

func ([(][^)]+[)] )?[N]ext

如果您想要不区分大小写的搜索,请使用

func ([(][^)]+[)] )?next
于 2013-07-13T10:21:30.360 回答