1 | package aliases |
---|---|
2 | |
3 | type ( |
4 | T0 [10]int |
5 | T1 []byte |
6 | T2 struct { |
7 | x int |
8 | } |
9 | T3 interface { |
10 | m() T2 |
11 | } |
12 | T4 func(int, T0) chan T2 |
13 | ) |
14 | |
15 | // basic aliases |
16 | type ( |
17 | Ai = int |
18 | A0 = T0 |
19 | A1 = T1 |
20 | A2 = T2 |
21 | A3 = T3 |
22 | A4 = T4 |
23 | |
24 | A10 = [10]int |
25 | A11 = []byte |
26 | A12 = struct { |
27 | x int |
28 | } |
29 | A13 = interface { |
30 | m() A2 |
31 | } |
32 | A14 = func(int, A0) chan A2 |
33 | ) |
34 | |
35 | // alias receiver types |
36 | func (T0) m1() {} |
37 | func (A0) m2() {} |
38 | |
39 | // alias receiver types (long type declaration chains) |
40 | type ( |
41 | V0 = V1 |
42 | V1 = (V2) |
43 | V2 = (V3) |
44 | V3 = T0 |
45 | ) |
46 | |
47 | func (V1) n() {} |
48 | |
49 | // cycles |
50 | type C0 struct { |
51 | f1 C1 |
52 | f2 C2 |
53 | } |
54 | |
55 | type ( |
56 | C1 *C0 |
57 | C2 = C1 |
58 | ) |
59 | |
60 | type ( |
61 | C5 struct { |
62 | f *C6 |
63 | } |
64 | C6 = C5 |
65 | ) |
66 |
Members