This repo contains my notes on work with Go and computer systems
Language Specification
Function: Initialization | argument | multiple returns | named return
- Build-in types: Built-in types
- statement: statement
| if else
| for | switch
| select | go
- Data Structures
- Enum: Enum
- Array: CPU Cache | TLB | Initialization | Iteration | Type array | Contiguous memory allocation
- Slice: Initialization | Length vs Capacity | Reference Type | Appending | Slice of Slice
| Map | Reduce | Filter | Include | All|Any
- Map: Initialization | Iteration | Deleting | Finding | Restriction
- Channel: Declare | Iteration | Exit | send statements |receive operations
- Decoupling
- Method:
- Value and Pointer Receiver Call
| wiki
- Value and Pointer Semantics
- Methods are just functions | Function variable
- closures
- Interface:
- Declaring |Type assertions| Concrete type vs Interface type| Polymorphic function
- Embedding:
- Declaring fields, NOT Embedding
- Embedding type | Inner type promotion
- Embedded type and Interface
- Outer and inner type implementing the same Interface
- Exporting:
- Exported identifier
- Accessing a value of an unexported identifier
- Unexported fields from an exported struct
- Dependency management Go Modules
- Error Handling
- Default error values
- Error variables
| best practices
- Type as context
- Wrapping Errors
- Context
- Store and retrieve values from a context
- WithCancel
- WithDeadline
- WithTimeout
- Concurrency LearnConcurrency
- Goroutine
- asynchronous network IO
- Channel
- Guideline
- ping_pong
- multiplexing
- waitgroup
- mutex
- worker_pool
- Select
- Diagnostics Profiling
- Diagnostics Diagnostics
- Profiling code
- Stack Trace: Review
- GoLand Debug: GoLand Debug
| blog
- Testing
- Testing:
- Basic Unit Test
- Web Server
- Mock | Mock Server
- Fuzzing
- Guideline
- Design Pattern Design Patterns
| javatpoint
- SOLID: SOLID
- Creational
- Simple Factory: wiki
| code | best practices
- Abstract factory: wiki
| code | best practices
- Builder: wiki
| code1
| code2
| best practices orm query build
| best practices es query build
- Factory method: wiki
| code
| best practices
- Object Pool Pattern: wiki
| code
| best practices bilibili redis pool
- Prototype: wiki
| code
| best practices
- Singleton: wiki
| code | best practices
- Structual
- Adapter: wiki
| code
| best practices
- Bridge: wiki
| code | best practices
- Composite: wiki
| code
| best practices
- Decorator: wiki
| code
| best practices
- Facade: wiki
| code | best practices
- Flyweight: todowiki | code
| best practices
- Proxy (network proxy): wiki
| code | best practices
- Behavioral
- Chain of responsibility: wiki
| code
| best practices
- Command: todo wiki | code
| best practices
- Interpreter: todowiki | code
| best practices
- Iterator: wiki | code
| best practices
- Mediator: todowiki | code
| best practices
- Memento: todowiki | code
| best practices
- Observer: todowiki | code
| best practices
- State: todowiki | code
| best practices
- Strategy: wiki | code
| best practices
- Template method : todowiki | code
| best practices
- Visitor: todowiki | code
| best practices
- Composition:
Guideline
- Conversion:
- Interface Conversions | Type Assertion
- Runtime Type Assertion
Algorithms* Algorithms
- Data Structures
- Binary Search Tree
| (wiki)
| (mit)
- Binary Tree
| (wiki)
- Graph(wiki)
- Hash Tables | (wiki)
- Linked List
| (wiki)
- Singly Linked List
| (wiki)
- Doubly linked list
| (wiki)
- Matrix | (wiki)
- Max Heap
| (wiki)
- Min Heap
| (wiki)
- [Priority Queue](./algorithms/data-s
$ claude mcp add ultimate-go \
-- python -m otcore.mcp_server <graph>