| -- Lock-hover -- |
| ```go |
| func (*sync.Mutex).Lock() |
| ``` |
| |
| [`(sync.Mutex).Lock` on pkg.go.dev](https://pkg.go.dev/sync#Mutex.Lock) |
| |
| Lock locks m\. |
| -- Name-hover -- |
| ```go |
| func (*types.object).Name() string |
| ``` |
| |
| [`(types.TypeName).Name` on pkg.go.dev](https://pkg.go.dev/go/types#TypeName.Name) |
| |
| Name returns the object\'s \(package\-local, unqualified\) name\. |
| -- Random-definition -- |
| godef/a/random.go:3:6-12: defined here as ```go |
| func Random() int |
| ``` |
| |
| [`a.Random` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Random) |
| -- Random-definition-json -- |
| { |
| "span": { |
| "uri": "file://godef/a/random.go", |
| "start": { |
| "line": 3, |
| "column": 6, |
| "offset": 16 |
| }, |
| "end": { |
| "line": 3, |
| "column": 12, |
| "offset": 22 |
| } |
| }, |
| "description": "```go\nfunc Random() int\n```\n\n[`a.Random` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Random)" |
| } |
| |
| -- Random-hover -- |
| ```go |
| func Random() int |
| ``` |
| |
| [`a.Random` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Random) |
| -- Random2-definition -- |
| godef/a/random.go:8:6-13: defined here as ```go |
| func Random2(y int) int |
| ``` |
| |
| [`a.Random2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Random2) |
| -- Random2-definition-json -- |
| { |
| "span": { |
| "uri": "file://godef/a/random.go", |
| "start": { |
| "line": 8, |
| "column": 6, |
| "offset": 71 |
| }, |
| "end": { |
| "line": 8, |
| "column": 13, |
| "offset": 78 |
| } |
| }, |
| "description": "```go\nfunc Random2(y int) int\n```\n\n[`a.Random2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Random2)" |
| } |
| |
| -- Random2-hover -- |
| ```go |
| func Random2(y int) int |
| ``` |
| |
| [`a.Random2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Random2) |
| -- a-hover -- |
| ```go |
| |
| ``` |
| -- aPackage-hover -- |
| Package a is a package for testing go to definition\. |
| -- err-definition -- |
| godef/a/a.go:33:6-9: defined here as ```go |
| var err error |
| ``` |
| |
| \@err |
| -- err-definition-json -- |
| { |
| "span": { |
| "uri": "file://godef/a/a.go", |
| "start": { |
| "line": 33, |
| "column": 6, |
| "offset": 597 |
| }, |
| "end": { |
| "line": 33, |
| "column": 9, |
| "offset": 600 |
| } |
| }, |
| "description": "```go\nvar err error\n```\n\n\\@err" |
| } |
| |
| -- err-hover -- |
| ```go |
| var err error |
| ``` |
| |
| \@err |
| -- g-hover -- |
| ```go |
| const g untyped int = 1 |
| ``` |
| |
| When I hover on g, I should see this comment\. |
| -- h-hover -- |
| ```go |
| const h untyped int = 2 |
| ``` |
| |
| Constant block\. |
| -- make-hover -- |
| ```go |
| func(t Type, size ...IntegerType) Type |
| ``` |
| |
| [`make` on pkg.go.dev](https://pkg.go.dev/builtin#make) |
| |
| The make built\-in function allocates and initializes an object of type slice, map, or chan \(only\)\. |
| -- string-hover -- |
| ```go |
| string |
| ``` |
| -- typesImport-hover -- |
| ```go |
| package types ("go/types") |
| ``` |
| |
| [`types` on pkg.go.dev](https://pkg.go.dev/go/types) |
| -- x-hover -- |
| ```go |
| var x string |
| ``` |
| |
| x is a variable\. |
| -- z-hover -- |
| ```go |
| var z string |
| ``` |
| |
| z is a variable too\. |