Programming Languages
Tutorials on Python, C, C++, Java, JavaScript, TypeScript, Go, R and Haskell — from beginner syntax to advanced techniques.
Chapter 2 — Environment and Tooling
wget https://go.dev/dl/go1.22.0.linuxamd64.tar.gz sudo rm rf /usr/local/go sudo tar C /usr/local xzf go1.22.0.linuxamd64.tar.gz echo 'export PATH=$PATH:/usr/local/go/bin' ~/.profile
Read article →Chapter 3 — Lexical Basics
Every Go file starts with a package declaration. Files in the same directory must declare the same package. A program is a collection of packages; the entry point is package main with func main.
Read article →Chapter 4 — Builtin Types
Operators: &&, , . Shortcircuit evaluation. There is no implicit conversion between bool and integers — if 1 { ... } is a compile error.
Read article →Chapter 5 — Control Flow
Go has only a handful of control structures and no parentheses around their conditions. The body braces are always required.
Read article →Chapter 6 — Functions and Methods
When consecutive parameters share a type, you can write the type once a, b int.
Read article →Chapter 7 — Interfaces
An interface is a set of method signatures. Any type that has all of those methods satisfies the interface — automatically, without declaring intent. This is called structural or implicit typing.
Read article →Chapter 8 — Pointers and Memory
A pointer holds the memory address of a value. The type of a pointer to T is T. The zero value of any pointer is nil.
Read article →Chapter 9 — Generics
Generics arrived in Go 1.18 March 2022. They let you write functions and types that work on a parametric set of types, with compiletime type checking.
Read article →Chapter 10 — Concurrency
"Don't communicate by sharing memory; share memory by communicating." — Rob Pike
Read article →Chapter 11 — Testing
Go's standard library includes everything you need for testing: the testing package plus the go test command.
Read article →Chapter 12 — Modules and Dependencies
A module is a unit of versioning and distribution: a tree of Go packages identified by a module path, with explicit dependencies and a recorded build list. Modules replaced the older GOPATH workflow in Go 1.11+ and have
Read article →Chapter 13 — Practical Go
A grab bag of the topics you need most often in real services: HTTP, JSON, logging, configuration, structured project layout, and a few productionready patterns.
Read article →Chapter 1 — Arrays and Slices
Array NT — fixed length, length is part of the type, value semantics. Rarely used directly. Slice T — {ptr, len, cap} view into a backing array. Reference semantics for the underlying data. Used everywhere.
Read article →Chapter 2 — Stack
A stack is a LIFO lastin, firstout container with two main operations:
Read article →Chapter 3 — Queue Ring Buffer
A queue is a FIFO firstin, firstout container. The two main operations are:
Read article →Chapter 4 — Sorting
Sorting is the canonical algorithms topic. Knowing several sorts and their tradeoffs is part of any working programmer's vocabulary. This chapter implements five classic algorithms in Go and explains when to use each.
Read article →Chapter 5 — Hash Tables
A hash table maps keys to values with expected O1 lookup, insert, and delete. The trick: a hash function turns a key into an integer, which is reduced modulo the bucket count into an index, and an entry is stored at that
Read article →Chapter 6 — Binary Heap Priority Queue
A binary heap is an arraybased complete binary tree that satisfies the heap property:
Read article →Chapter 7 — Balanced Binary Search Tree AVL
A binary search tree BST stores keys so that for every node N:
Read article →Chapter 8 — Graphs
A graph is a set of vertices connected by edges. Edges may be:
Read article →Design considerations & assumptions
This document satisfies the Checkout.com offline assessment request to capture key design considerations and assumptions.
Read article →Payment Gateway Challenge Go + Echo + PostgreSQL
Implementation of the Checkout.com offline paymentgateway assessmenthttps://github.com/ckorecruitment/offlinecodinginterviewpreparation, using Go, Echo, PostgreSQL, and the official Mountebank bank simulator from the ref
Read article →🎉 JavaScript Full Curriculum COMPLETE
I've successfully created 8 complete modules with 80 detailed lessons and extensive code examples. This represents 100% of the entire curriculum and provides students with comprehensive JavaScript and fullstack developme
Read article →🎯 JavaScript Full Curriculum Complete Package
I've created a comprehensive JavaScript curriculum package that includes:
Read article →