...
1
2
3 package main
4
5
6
7
8 type I interface {
9 f()
10 }
11
12 type J interface {
13 f()
14 g()
15 }
16
17 type C int
18
19 func (*C) f()
20
21 type D int
22
23 func (*D) f()
24 func (*D) g()
25
26 func one(i I, j J) {
27 i.f()
28 }
29
30 func two(i I, j J) {
31 j.f()
32 }
33
34 func three(i I, j J) {
35 j.g()
36 }
37
38 func four(i I, j J) {
39 Jf := J.f
40 if unknown {
41 Jf = nil
42 }
43 Jf(nil)
44 }
45
46 func five(i I, j J) {
47 jf := j.f
48 if unknown {
49 jf = nil
50 }
51 jf()
52 }
53
54 var unknown bool
55
56
57
58
59
60
61
62
63
64
65
66
View as plain text