程式語言
Python、C、C++、Java、JavaScript、TypeScript、Go、R 與 Haskell 教學,從入門語法到進階技巧。
Chapter 4: A Tour of C++ (Part 2)
After completing this chapter, you will: Understand advanced C++ features and concepts Learn about object-oriented programming in C++ Explore the Standard Template Library (STL) Understand memory management and RAII Get
閱讀文章 →Chapter 3: User-Defined Types
After completing this chapter, you will: Master classes and objects in C++ Understand constructors and destructors Learn about member functions and data members Understand access control (public, private, protected) Mast
閱讀文章 →🩵 Part I – Introductory Material (Chapters 1-5)
After completing this section, you will: Understand C++ design philosophy and compilation model Master basic C++ syntax, types, and memory model Learn fundamental abstraction mechanisms Use STL containers and algorithms
閱讀文章 →C++ Programming Curriculum - 4th Edition
This comprehensive C++ curriculum follows the structure of "The C++ Programming Language, 4th Edition" by Bjarne Stroustrup. It's designed to take you from beginner to advanced C++ programmer through hands-on practice an
閱讀文章 →Baasid Backend (v1.1)
Go + Echo + GORM + PostgreSQL REST API with JWT authentication and Swagger (OpenAPI) documentation.
閱讀文章 →Go: Full Teaching Material + DSA in Go
This repository is a self-contained Go course. It is split into two parts: part1-language/ — 14 markdown chapters covering the Go language with runnable examples in part1-language/examples/ (chapter 14 goes deeper into e
閱讀文章 →Chapter 1 — Why Go
Go (also called Golang) is a statically typed, compiled, garbage-collected programming language designed at Google in 2007 and released as open source in It was created by Robert Griesemer, Rob Pike and Ken Thompson with
閱讀文章 →Chapter 2 — Environment and Tooling
Use the MSI installer from https://go.dev/dl/, or winget install GoLang.Go.
閱讀文章 →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().
閱讀文章 →Chapter 4 — Built-in Types
Operators: &&, ||, !. Short-circuit evaluation. There is no implicit conversion between bool and integers — if 1 { ... } is a compile error.
閱讀文章 →Chapter 5 — Control Flow
Go has only a handful of control structures and no parentheses around their conditions. The body braces are always required.
閱讀文章 →Chapter 6 — Functions and Methods
When consecutive parameters share a type, you can write the type once (a, b int).
閱讀文章 →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.
閱讀文章 →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.
閱讀文章 →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 compile-time type checking.
閱讀文章 →Chapter 10 — Concurrency
"Don't communicate by sharing memory; share memory by communicating." — Rob Pike
閱讀文章 →Chapter 11 — Testing
Go's standard library includes everything you need for testing: the testing package plus the go test command.
閱讀文章 →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
閱讀文章 →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 production-ready patterns.
閱讀文章 →Chapter 14 — Errors and Context in Depth
Chapters 6, 7 and 10 introduced error, %w and context.Context in a few paragraphs each. This chapter is the full treatment: how to design errors so callers can act on them, how to wrap and inspect them, where panics belo
閱讀文章 →Chapter 1 — Arrays and Slices
When you append past cap, Go allocates a new larger backing array and copies. Two slices that share a backing array see each other's writes.
閱讀文章 →Chapter 2 — Stack
A stack is a LIFO (last-in, first-out) container with two main operations: Push — put an element on top. Pop — take the top element off.
閱讀文章 →Chapter 3 — Queue (Ring Buffer)
A queue is a FIFO (first-in, first-out) container. The two main operations are: Enqueue / Push — add to the back. Dequeue / Pop — remove from the front.
閱讀文章 →Chapter 4 — Sorting
Sorting is the canonical algorithms topic. Knowing several sorts and their trade-offs is part of any working programmer's vocabulary. This chapter implements five classic algorithms in Go and explains when to use each.
閱讀文章 →