| <h1>package pkg</h1> | |
| <p>Package pkg has every form of declaration. | |
| <h3 id="hdr-Heading">Heading</h3> | |
| <p>Search <a href="https://google.com">Google</a> for details. | |
| <h3 id="hdr-Links">Links</h3> | |
| <ul> | |
| <li>pkgsite repo, <a href="https://go.googlesource.com/pkgsite">https://go.googlesource.com/pkgsite</a> | |
| <li>Play with Go, <a href="https://play-with-go.dev">https://play-with-go.dev</a> | |
| </ul> | |
| <h4>Example</h4> | |
| <pre><code> | |
| { | |
| fmt.Println("Package example") | |
| } | |
| </code></pre> | |
| Output: | |
| <pre><code> | |
| Package example | |
| </code></pre> | |
| <h2>Constants</h2> | |
| <pre><code>const ( | |
| X = 1 | |
| Y = 2 | |
| )</code></pre> | |
| <p>Several constants. | |
| <pre><code>const C = 1</code></pre> | |
| <p>C is a shorthand for 1. | |
| <h2>Variables</h2> | |
| <pre><code>var V = 2</code></pre> | |
| <p>V is a variable. | |
| <h2>Functions</h2> | |
| <pre><code>func Add(x int) int</code></pre> | |
| <p>Add adds 1 to x. | |
| <pre><code>func F()</code></pre> | |
| <p>F is a function. | |
| <h4>Example</h4> | |
| <pre><code> | |
| { | |
| pkg.F() | |
| fmt.Println("F example") | |
| } | |
| </code></pre> | |
| Output: | |
| <pre><code> | |
| F example | |
| </code></pre> | |
| <h4>Example (second)</h4> | |
| <pre><code> | |
| { | |
| pkg.F() | |
| fmt.Println("F second example") | |
| } | |
| </code></pre> | |
| Output: | |
| <pre><code> | |
| F second example | |
| </code></pre> | |
| <h2>Types</h2> | |
| <pre><code>type A int</code></pre> | |
| <pre><code>type B bool</code></pre> | |
| <pre><code>type I1 interface { | |
| M1() | |
| }</code></pre> | |
| <p>I1 is an interface. | |
| <pre><code>type I2 interface { | |
| I1 | |
| M2() | |
| }</code></pre> | |
| <pre><code>type S1 struct { | |
| F int // field | |
| }</code></pre> | |
| <p>S1 is a struct. | |
| <pre><code>type S2 struct { | |
| S1 | |
| G int | |
| }</code></pre> | |
| <p>S2 is another struct. | |
| <pre><code>type T int</code></pre> | |
| <p>T is a type. | |
| <h4>Example</h4> | |
| <pre><code> | |
| { | |
| _ = pkg.T(0) | |
| fmt.Println("T example") | |
| } | |
| </code></pre> | |
| Output: | |
| <pre><code> | |
| T example | |
| </code></pre> | |
| <pre><code>const CT T = 3</code></pre> | |
| <p>CT is a typed constant. | |
| They appear after their type. | |
| <pre><code>func TF() T</code></pre> | |
| <p>TF is a constructor for T. | |
| <pre><code>func (T) M()</code></pre> | |
| <p>M is a method of T. | |
| BUG(xxx): this verifies that notes are rendered. | |
| <h4>Example</h4> | |
| <pre><code> | |
| { | |
| var t pkg.T | |
| t.M() | |
| fmt.Println("M example") | |
| } | |
| </code></pre> | |
| Output: | |
| <pre><code> | |
| M example | |
| </code></pre> |