betty200744/ultimate-go
betty200744/ultimate-go has 1,937 GitHub stars and 136 forks. GitHot measured 0 stars in 24 hours and 0 in 7 days. Last checked 2026-11-09 22:58 UTC. Last push 2024-05-10.
This repo contains my notes on working with Go and computer systems.
Measured star growth
- in 24h
- 0
- in 7 days
- 0
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalMotivation
This repo contains my notes on work with Go and computer systems
Table of Contents
Language Specification
Syntax
- Variables: Zero value concept | Initialization | Const
- Constant: Initialization | iota
- Conversions: Conversion
Struct: Declare_Initialize | Name And Anonymous type Field | Field Function| Iterate Field Name And Value | Selector and Promoted | Method Set
Function: Initialization | argument | multiple returns | named return
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:
- Interface:
- Embedding:
- Exporting:
Dependency management Go Modules
Error Handling
Context
Concurrency LearnConcurrency
Diagnostics Profiling
- Diagnostics Diagnostics
- Profiling code
- Stack Trace: Review
- GoLand Debug: GoLand Debug | blog
Testing
- Testing:
- Fuzzing
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:
- Data Structures
- Graph algorithms
- Searching:
- shortest path:
- Sorting:
- Maths algorithms
- Binary GCD algorithm | (wiki)
- Closest pairs | (wiki)
- FastPower | (wiki)
- Fibonacci | (wiki)
- Fisher-Yates Shuffle-yates | (wiki)
- Erastothenes Sieve | (wiki)
- Extented GCD algorithm | (wiki)
- Karatsuba's Multiplication | (wiki)
- Newton's Squarenewton-sqrt | (wiki)
- Permutations Count
- Strassen's matrixstrassen | (wiki)
- Sorting algorithms
- Searching algorithms
Crypto
databases
Awesome Go
Docs
Interview
- When is
defercalled?It was called according the consuming sequence of stack. That is to say, the first
deferclause will be invoked as the last. deferandpanicwhich is run first?First
defer, thenpanic.- Difference between
new()andmake()?For
newfunction, it returns pointer. It is used when initiate struct.Makeis mostly used when initiate slice, map and channel. - Can
append()receive pointer as parameter?No.
- go run order,

- Can global variable declared with short declaration?
No.
- Difference between passing value and passing pointer as parameter of function?
When passing value, it will create a new copy. For pointer, it will pass the value itself.
str := "hello", str[1] = 'a'Is the string gonna modified?No. Because the string is a constant.
- Can we assign nil to
string?No. But we can assign nil to
*string - If
mapandrangeis executed by sequence?No.
- If two slice object can be compared with
==?No.
- Is there a difference between new() and “regular” allocation?
No. &Vector{} , new(Vector) is the same, one thing to note: new() is the only way to get a pointer to an unnamed integer or other basic type. You can write "p := new(int)" but you can't write "p := &int{0}".
- When is
Explore related projects
n8n-io/n8n
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
210,051 starslanggenius/dify
Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production without rebuilding the stack.
160,773 starsmicrosoft/PowerToys
Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows
140,833 starsstablyai/orca
Orca is the place for working with a fleet of agents (e.g. Grok Bot, Claude Code). Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.
121,638 stars