1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
package a //@mark(a, "a "),hoverdef("a ", a)
import "fmt"
type Thing struct { //@Thing
Member string //@Member
}
var Other Thing //@Other
func Things(val []string) []Thing { //@Things
return nil
}
func (t Thing) Method(i int) string { //@Method
return t.Member
}
func (t Thing) Method3() {
}
func (t *Thing) Method2(i int, j int) (error, string) {
return nil, t.Member
}
func (t *Thing) private() {
}
func useThings() {
t := Thing{ //@mark(aStructType, "ing")
Member: "string", //@mark(fMember, "ember")
}
fmt.Print(t.Member) //@mark(aMember, "ember")
fmt.Print(Other) //@mark(aVar, "ther")
Things() //@mark(aFunc, "ings")
t.Method() //@mark(aMethod, "eth")
}
type NextThing struct { //@NextThing
Thing
Value int
}
func (n NextThing) another() string {
return n.Member
}
// Shadows Thing.Method3
func (n *NextThing) Method3() int {
return n.Value
}
var nextThing NextThing //@hoverdef("NextThing", NextThing)
/*@
godef(aStructType, Thing)
godef(aMember, Member)
godef(aVar, Other)
godef(aFunc, Things)
godef(aMethod, Method)
godef(fMember, Member)
godef(Member, Member)
//param
//package name
//const
//anon field
*/
|