SYMBOL INDEX (60 symbols across 14 files) FILE: chapter1_assembly_primer/direct_topfunc_call.go function add (line 4) | func add(a, b int32) (int32, bool) { return a + b, true } function main (line 6) | func main() { add(10, 32) } FILE: chapter2_interfaces/compound_interface.go type Adder (line 3) | type Adder interface type Subber (line 4) | type Subber interface type Mather (line 6) | type Mather interface type Calculator (line 11) | type Calculator struct method Add (line 13) | func (c *Calculator) Add(a, b int32) int32 { return a + b } method Sub (line 14) | func (c *Calculator) Sub(a, b int32) int32 { return a - b } function main (line 16) | func main() { FILE: chapter2_interfaces/direct_calls.go function Add (line 4) | func Add(a, b int32) int32 { return a + b } type Adder (line 6) | type Adder struct method AddPtr (line 9) | func (adder *Adder) AddPtr(a, b int32) int32 { return a + b } method AddVal (line 12) | func (adder Adder) AddVal(a, b int32) int32 { return a + b } function main (line 14) | func main() { FILE: chapter2_interfaces/eface_scalar_test.go function BenchmarkEfaceScalar (line 7) | func BenchmarkEfaceScalar(b *testing.B) { function main (line 106) | func main() { FILE: chapter2_interfaces/eface_to_type.go function assertion (line 6) | func assertion() { function typeSwitch (line 32) | func typeSwitch() { function main (line 79) | func main() { FILE: chapter2_interfaces/eface_to_type_test.go function BenchmarkEfaceToType (line 8) | func BenchmarkEfaceToType(b *testing.B) { function main (line 49) | func main() {} FILE: chapter2_interfaces/eface_type_hash.go type eface (line 9) | type eface struct type _type (line 13) | type _type struct function main (line 24) | func main() { FILE: chapter2_interfaces/escape.go type Addifier (line 3) | type Addifier interface type Adder (line 5) | type Adder struct method Add (line 8) | func (adder Adder) Add(a, b int32) int32 { return a + b } function main (line 10) | func main() { FILE: chapter2_interfaces/escape_test.go type Addifier (line 5) | type Addifier interface type Adder (line 7) | type Adder struct method Add (line 10) | func (adder Adder) Add(a, b int32) int32 { return a + b } function BenchmarkDirect (line 12) | func BenchmarkDirect(b *testing.B) { function BenchmarkInterface (line 19) | func BenchmarkInterface(b *testing.B) { function main (line 26) | func main() {} FILE: chapter2_interfaces/iface.go type Mather (line 3) | type Mather interface type Adder (line 8) | type Adder struct method Add (line 11) | func (adder Adder) Add(a, b int32) int32 { return a + b } method Sub (line 14) | func (adder Adder) Sub(a, b int64) int64 { return a - b } function main (line 16) | func main() { FILE: chapter2_interfaces/iface_bench_test.go type identifier (line 11) | type identifier interface type id32 (line 16) | type id32 struct method idInline (line 21) | func (id *id32) idInline() int32 { return id.id } method idNoInline (line 24) | func (id *id32) idNoInline() int32 { return id.id } constant _maxSize (line 28) | _maxSize = 2097152 constant _maxSizeModMask (line 29) | _maxSizeModMask = _maxSize - 1 function init (line 33) | func init() { function escapeToHeap (line 52) | func escapeToHeap(id *id32) identifier { function BenchmarkMethodCall_direct (line 57) | func BenchmarkMethodCall_direct(b *testing.B) { function BenchmarkMethodCall_interface (line 135) | func BenchmarkMethodCall_interface(b *testing.B) { function main (line 221) | func main() {} FILE: chapter2_interfaces/iface_type_hash.go type Mather (line 8) | type Mather interface type Adder (line 13) | type Adder struct method Add (line 16) | func (adder Adder) Add(a, b int32) int32 { return a + b } method Sub (line 19) | func (adder Adder) Sub(a, b int64) int64 { return a - b } function main (line 21) | func main() { type iface (line 31) | type iface struct type itab (line 35) | type itab struct FILE: chapter2_interfaces/zerobase.go function main (line 11) | func main() { FILE: chapter2_interfaces/zeroval.go type eface (line 11) | type eface struct function main (line 13) | func main() {