-- Lock-hover --
Lock locks m\.

[`(sync.Mutex).Lock` on pkg.go.dev](https://pkg.go.dev/sync#Mutex.Lock)

```go
func (*sync.Mutex).Lock()
```
-- Name-hover --
Name returns the object\'s \(package\-local, unqualified\) name\.

[`(types.TypeName).Name` on pkg.go.dev](https://pkg.go.dev/go/types#TypeName.Name)

```go
func (*types.object).Name() string
```
-- 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 --
[`a.Random` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Random)

```go
func Random() int
```
-- 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 --
[`a.Random2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Random2)

```go
func Random2(y int) int
```
-- a-hover --
```go

```
-- aPackage-hover --
Package a is a package for testing go to definition\.
-- err-definition --
godef/a/a.go:25:6-9: defined here as ```go
var err error
```

\@err
-- err-definition-json --
{
	"span": {
		"uri": "file://godef/a/a.go",
		"start": {
			"line": 25,
			"column": 6,
			"offset": 418
		},
		"end": {
			"line": 25,
			"column": 9,
			"offset": 421
		}
	},
	"description": "```go\nvar err error\n```\n\n\\@err"
}

-- err-hover --
\@err

```go
var err error
```
-- make-hover --
The make built\-in function allocates and initializes an object of type slice, map, or chan \(only\)\.

[`make` on pkg.go.dev](https://pkg.go.dev/builtin#make)

```go
func(t Type, size ...IntegerType) Type
```
-- string-hover --
```go
string
```
-- typesImport-hover --
[`types` on pkg.go.dev](https://pkg.go.dev/go/types)

```go
package types ("go/types")
```
-- x-hover --
x is a variable\.

```go
var x string
```
-- z-hover --
z is a variable too\.

```go
var z string
```
