MCPcopy
hub / github.com/teh-cmc/go-internals

github.com/teh-cmc/go-internals @main sqlite

repository ↗ · DeepWiki ↗
75 symbols 134 edges 19 files 17 documented · 23%
README

go-internals

go-internals is a work-in-progress book about the internals of the Go (1.10+) programming language.


Table of Contents


Click here for the GitBook version.

Goals

  • Concise: The book aims to be as concise as possible, encouraging code and diagrams over lengthy prose.
  • Community-effort: I myself am learning as I go through the writing of this book. I will make mistakes along the way. Hopefully the community can help in pointing out and correcting these mistakes.
  • Beyond the theory: The book will not just cover the theory, but the actual implementation too. Assumptions will be proven or invalidated via experiments and measurements.
  • Up-to-Date: The book will try to keep up-to-date with new Go versions being released.
  • Experienced audience: The Go community has created loads of great introductory material for newcomers. Unfortunately we're still lacking good resources when it comes to the more advanced stuff. This books hopes to help solve this issue.

Translations

Contributing

All kinds of contributions are very much welcome.

Don't hesitate to open an issue for e.g...: - pointing out technical or english mistakes - suggesting improvements and/or additions to existing chapters - suggesting external links that might be of interest - ..and pretty much anything else you can think of, really!

Author

Clement Rey <cr.rey.clement@gmail.com> (@teh_cmc)

License

Licensed under the BY-NC-SA Creative Commons 4.0 International Public License

Extension points exported contracts — how you extend this code

Adder (Interface)
(no doc) [3 implementers]
chapter2_interfaces/compound_interface.go
Addifier (Interface)
(no doc) [3 implementers]
chapter2_interfaces/escape_test.go
Addifier (Interface)
(no doc) [3 implementers]
chapter2_interfaces/escape.go
Adder (Interface)
(no doc) [3 implementers]
chapter2_interfaces/issue_7/B/lib.go
Mather (Interface)
(no doc) [2 implementers]
chapter2_interfaces/iface_type_hash.go
Mather (Interface)
(no doc) [2 implementers]
chapter2_interfaces/iface.go
Subber (Interface)
(no doc) [2 implementers]
chapter2_interfaces/compound_interface.go
Mather (Interface)
(no doc) [2 implementers]
chapter2_interfaces/compound_interface.go

Core symbols most depended-on inside this repo

idNoInline
called by 4
chapter2_interfaces/iface_bench_test.go
Add
called by 4
chapter2_interfaces/issue_7/B/lib.go
AddVal
called by 2
chapter2_interfaces/direct_calls.go
Add
called by 2
chapter2_interfaces/iface.go
add
called by 1
chapter1_assembly_primer/direct_topfunc_call.go
Add
called by 1
chapter2_interfaces/direct_calls.go
AddPtr
called by 1
chapter2_interfaces/direct_calls.go
idInline
called by 1
chapter2_interfaces/iface_bench_test.go

Shape

Function 29
Method 24
Struct 13
Interface 9

Languages

Go100%

Modules by API surface

chapter2_interfaces/iface_bench_test.go11 symbols
chapter2_interfaces/iface_type_hash.go9 symbols
chapter2_interfaces/compound_interface.go9 symbols
chapter2_interfaces/iface.go7 symbols
chapter2_interfaces/escape_test.go7 symbols
chapter2_interfaces/escape.go5 symbols
chapter2_interfaces/direct_calls.go5 symbols
chapter2_interfaces/eface_type_hash.go3 symbols
chapter2_interfaces/eface_to_type.go3 symbols
chapter2_interfaces/zeroval.go2 symbols
chapter2_interfaces/issue_7/B/lib.go2 symbols
chapter2_interfaces/issue_7/A/lib.go2 symbols

For agents

$ claude mcp add go-internals \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact