| # package pkg | |
| Package pkg has every form of declaration. | |
| ### Heading {#hdr-Heading} | |
| Search [Google](https://google.com) for details. | |
| ### Links {#hdr-Links} | |
| - pkgsite repo, [https://go.googlesource.com/pkgsite](https://go.googlesource.com/pkgsite) | |
| - Play with Go, [https://play-with-go.dev](https://play-with-go.dev) | |
| ## Constants | |
| ```go | |
| const ( | |
| X = 1 | |
| Y = 2 | |
| ) | |
| ``` | |
| Several constants. | |
| ```go | |
| const C = 1 | |
| ``` | |
| C is a shorthand for 1. | |
| ## Variables | |
| ```go | |
| var V = 2 | |
| ``` | |
| V is a variable. | |
| ## Functions | |
| ```go | |
| func Add(x int) int | |
| ``` | |
| Add adds 1 to x. | |
| ```go | |
| func F() | |
| ``` | |
| F is a function. | |
| ## Types | |
| ```go | |
| type A int | |
| ``` | |
| ```go | |
| type B bool | |
| ``` | |
| ```go | |
| type I1 interface { | |
| M1() | |
| } | |
| ``` | |
| I1 is an interface. | |
| ```go | |
| type I2 interface { | |
| I1 | |
| M2() | |
| } | |
| ``` | |
| ```go | |
| type S1 struct { | |
| F int // field | |
| } | |
| ``` | |
| S1 is a struct. | |
| ```go | |
| type S2 struct { | |
| S1 | |
| G int | |
| } | |
| ``` | |
| S2 is another struct. | |
| ```go | |
| type T int | |
| ``` | |
| T is a type. | |
| ```go | |
| const CT T = 3 | |
| ``` | |
| CT is a typed constant. They appear after their type. | |
| ```go | |
| func TF() T | |
| ``` | |
| TF is a constructor for T. | |
| ```go | |
| func (T) M() | |
| ``` | |
| M is a method of T. BUG(xxx): this verifies that notes are rendered. |