文档很棒,但有时很难找到特定的关键字。例如,Next()
在此页面http://golang.org/search?q=next%28%29中搜索结果并不是很有帮助。有没有更好的方法来搜索文档?
问问题
768 次
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 next
或doc sql.next
。您甚至可以通过-url
在线获取该文档的 URL,或-src
获取用于实现该符号的文件名和行号。
您可以使用 : 访问包文档(出现在包页面顶部且不属于其任何项目的文档-pkg
)doc -pkg json
。
doc
搜索所有内容,您可以将其限制为仅搜索函数、接口、变量等。不带参数运行它以获取文档。
这是一个很棒的工具。用 Go 编写代码时,请保持关闭状态。
于 2013-07-13T11:00:54.913 回答
2
这很好用:
func ([(][^)]+[)] )?[N]ext
如果您想要不区分大小写的搜索,请使用
func ([(][^)]+[)] )?next
于 2013-07-13T10:21:30.360 回答